c++ - Xcode,Objective-C 项目 : not compiling C++ file

标签 c++ objective-c macos cocoa

我的 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/

相关文章:

Python turtle 模块导致 OS X 崩溃

c++ - OpenGL 通过重新规范更新 VBO 数据

c++ - FORTRAN 函数返回数组导致段错误(从 C++ 调用)

c++ - 复制构造函数中 const_cast 的含义?

c++ - boost io_service 初始化 SIGSEGV

ios - 应用程序关闭后 UILocalNotification 为零

objective-c - UIImage setter NSInvalidArgumentException

iOS 实例变量

python - 如何通过脚本图标上的 "dropping"文件/文件夹将路径名传递给 Python 脚本

iphone - Objective-C 中的 "super"是什么? ( self != super )?