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

C++ Standard Library found in .mm files but not in the .h (Xcode 4.5 LLVM GCC 4.2)

本文关键字:文件 Xcode LLVM 找不到 GCC 但在 标准 mm c++      更新时间:2023-10-16

我试图在用LLVM GCC 4.2编译的Xcode 4.5开发的iOS6.0应用程序中使用std::vector,我用。mm扩展名重命名了我使用c++的文件。但是由于某种原因,与那些。mm相关联的头文件没有被编译,我得到了以下错误:

Vector: No such file or directory

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

你知道我做错了什么吗?

谢谢

Webaba

已解决:仔细检查其他可能包含此头文件的.m文件。(不仅仅是实现类的那个)我漏了一个

确保包括头文件在内的所有文件都被编译为objective - c++或c++文件。你可以选择一个源文件,在工具面板的文件检查器中,你可以设置Xcode应该如何编译你的文件。

如果你试图编译一个包含Objective-C头文件的C源文件,也会发生同样的情况,例如

编辑:如果用于编译的命令包含类似- nodinc - nodinc ++的内容,那么您可能必须更改项目设置。在LLVM GCC 4.2 - Language部分应该有一个标记为的设置,使用标准系统头目录(对我来说这是该部分的最后一个设置)。请确保设置为yes