将C++代码添加到 iOS 项目
Adding C++ code to an iOS project
我正在尝试将C++库添加到iOS项目中。我将源代码文件添加到项目中,但似乎它们不像C++代码那样被解释。
例如,我在头文件中收到以下错误:
namespace soundtouch // Unknown type name 'namespace'
{
我已经尝试将文件检查器中的类型更改为"C++源"和"C++标头" - 没有任何变化。
如何将C++库导入 XCode 项目?
C++源文件必须具有可识别的扩展名; .cpp
、.cxx
、.cc
等,它们将被编译为C++文件。如果在添加文件时扩展名正确(且可识别(,则无需手动更改文件类型。编译语言基于每个模块确定。
混合C++和Objective-C是另一回事。ADC文档中有一整节是关于Objective-C++的(它使用.mm
扩展(。因此,如果你想从Objective-C调用C++代码,则需要从.mm
模块完成。
鉴于您引用的错误,看起来您可能正在尝试在Objective-C模块中包含C++头文件。要完成这项工作,您需要将 Objective-C 模块重命名为 .mm
,然后编译器会将其视为 Objective-C++。
确定C++和Objective-C代码之间的清晰边界需要一些规划,但值得预先考虑。
这篇文章值得一读:
- 混合 Objective-C、C++ 和 Objective-C++
每个直接或间接#import
任何C++头文件的Objective-C实现文件(.m
(都必须通过将其文件扩展名更改为.mm
来更改为Objective-C++实现文件。
相关文章:
- 删除 iOS 项目中的 SDLKey 引用
- 错误的同时将C 文件夹在iOS XCode项目中包括在内
- 如何将C++静态库正确包含到 iOS 项目中
- 在 iOS 项目中添加C++库将无法正确编译
- 与iOS项目上的C 库链接失败
- 从工作iOS项目中导入.cpp文件并将其重命名为.mm问题
- OpenCV c++ 示例进入 iOS 项目
- C++XCode iOS项目中未捕获的异常
- 是否可以从IOS项目中的cpp文件获取文件路径
- iOS项目中的cpp编译问题
- 我是否必须在Xcode iOS项目中释放C的内存分配
- VLCKit 与 iOS 项目中的 .mm 文件冲突
- 将C++代码添加到 iOS 项目
- 编译外部C++库以用于 iOS 项目
- 无法在 xcode ios 项目中声明C++向量
- 实现c++ bitvector在ios项目中的xcode
- 将ios项目转换为android
- 在iOS项目中使用外部FreeVerb C++类时发生链接器错误
- 我可以将一个库作为静态库包含在iOS项目中并将其编译吗?
- 预链接静态库的ios项目