我的 Objective-C 项目中有 C++ 文件头 ( interface.hpp
)。
当我使用它时,我在以下行收到编译器错误:#include <map>
map file not found
对于#include <string>
也是一样的
string file not found
在我看来,尽管文件扩展名为 hpp,但 Xcode 将其编译为 C 头文件,而不是 C++ 头文件。
有什么建议吗?
最佳答案
header 的扩展无关紧要。重要的是包含该 header 的文件的扩展名。如果要在 Objective-C 代码中包含 C++ header ,则需要将 Objective-C 文件的扩展名更改为 .mm
。这表明该文件是一个 Objective-C++ 源文件(实际上是一种不同的语言,所以要小心,你知道你在做什么)。 .mm
文件中包含的 header 将被解析为 Objective-C++,因此您的 C++ 构造应该可以工作。
关于c++ - Xcode,Objective-C 项目 : not compiling C++ file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35866724/