我正在尝试在使用 LLVM GCC 4.2 编译的 Xcode 4.5 中开发的 iOS6.0 应用程序中使用 std::vector 并使用 .mm 扩展名重命名我正在使用 C++ 的文件。但由于某种原因,相关的标头那些 .mm 不要编译我有以下错误:
矢量:没有这样的文件或目录
我试过导入,包括。如果我只将它包含在 .mm 中,它就可以工作。
知道我做错了什么吗?
谢谢
韦巴巴
已解决:仔细检查可能包含此标头的其他 .m 文件。(不仅是实施课程的人)我错过了一个。
确保包含头文件的文件被编译为 Objective-C++ 或 C++ 文件。你可以通过选择一个源文件来做到这一点,在实用程序面板的文件检查器中,你可以设置 Xcode 应该如何编译你的文件。
例如,如果您尝试编译包含 Objective-C 头文件的 C 源文件,也会发生同样的情况。
编辑:如果用于编译的命令包含-nostdinc或-nostdinc++之类的内容,那么您可能必须更改项目设置。LLVM GCC 4.2 - Language 部分应该有一个设置,标记为Use Standard System Header Directory(对我来说,这是该部分的最后一个设置)。确保它设置为是。