在.mm文件中找到但不在.h中的C ++标准库(Xcode 4.5 LLVM GCC 4.2)

时间:2013-01-13 21:17:18

标签: c++ iphone ios6 xcode4.5 llvm-gcc

我正在尝试在使用LLVM GCC 4.2编译的Xcode 4.5中开发的iOS6.0应用程序中使用std :: vector,并使用.mm扩展名重命名我正在使用C ++的文件。但由于某些原因,与.mm相关联的标题不会被编译我有以下错误:

Vector:没有这样的文件或目录

我尝试过导入,包括。如果我只将它包含在.mm中,它就可以工作。

知道我做错了吗?

谢谢

Webaba

已解决:仔细检查可能包含此标头的其他.m文件。 (不仅是实施班级的人)我错过了一个。

1 个答案:

答案 0 :(得分:1)

确保包含头文件的文件被编译为Objective-C ++或C ++文件。您可以通过选择源文件来完成此操作,并在“工具”面板的“文件检查器”中,您可以设置Xcode编译文件的方式。

如果您尝试编译包含Objective-C标头的C源文件,也会发生同样的情况。

编辑:如果用于编译的命令包含 -nostdinc -nostdinc ++ 之类的内容,则可能需要更改项目设置。 LLVM GCC 4.2 - 语言中应该有一个设置,标记为使用标准系统标题目录(对我而言,这是该部分的最后一个设置)。确保将其设置为是。