2011-11-09 7 views
6

Tôi có một dự án XCode 4.2 mà tôi đã làm việc với cả ngày tốt và đột ngột, sau một sự cố XCode, dự án của tôi bắt đầu biên dịch với lỗi:Vấn đề về Lexical hoặc Preprocessor với "#import <map>

"file myClass.m: error: Lexical or Preprocessor Issue: 'map' file not found" 

nơi myClass.m sử dụng:.

#import <map> 
#import <vector> 

tôi đã thử một xây dựng sạch nhưng xcode vẫn phàn nàn Làm thế nào tôi có thể lấy nó để nhận ra std: vector và std: bản đồ thư viện một lần nữa

Trả lời

7

đó là vì nguồn của bạn không phải là C++ hoặc objC++. thay đổi myClass.m thành myClass.mm.

+0

Nếu tệp đã được gọi là .mm thì sao? – SpacyRicochet

+0

@SpacyRicochet nếu bạn đổi tên nó, hãy thử thoát Xcode và làm sạch dự án của bạn. cũng xác minh các tệp đang được biên dịch dựa trên phần mở rộng của chúng 'GCC_INPUT_FILETYPE'. – justin

+1

Cảm ơn nhận xét. Đó là một cái gì đó khác mặc dù; Tôi quên kiểm tra nơi tệp C++ cụ thể đã được nhập. ** TẤT CẢ ** các tệp triển khai đó cũng cần phải được đổi tên. Hầu như giống như một loại vi-rút truyền nhiễm: P – SpacyRicochet