我正在尝试在使用LLVM GCC 4.2编译的Xcode 4.5中开发的iOS6.0应用程序中使用std :: vector,并使用.mm扩展名重命名我正在使用C ++的文件。但由于某些原因,与.mm相关联的标题不会被编译我有以下错误:
Vector:没有这样的文件或目录
我尝试过导入,包括。如果我只将它包含在.mm中,它就可以工作。
知道我做错了吗?
谢谢
Webaba
已解决:仔细检查可能包含此标头的其他.m文件。 (不仅是实施班级的人)我错过了一个。
答案 0 :(得分:1)
确保包含头文件的文件被编译为Objective-C ++或C ++文件。您可以通过选择源文件来完成此操作,并在“工具”面板的“文件检查器”中,您可以设置Xcode编译文件的方式。
如果您尝试编译包含Objective-C标头的C源文件,也会发生同样的情况。
编辑:如果用于编译的命令包含 -nostdinc 或 -nostdinc ++ 之类的内容,则可能需要更改项目设置。 LLVM GCC 4.2 - 语言中应该有一个设置,标记为使用标准系统标题目录(对我而言,这是该部分的最后一个设置)。确保将其设置为是。