将C++代码导入IOS应用程序
Import C++ code to IOS application
我用C++编写了一段代码,我想在我的IOS应用程序中使用它的一些方法,那么是否可以在XCode中将C++库"t.cpp"(导入)到IOS应用程序?如果是的话,简单的方法是什么?
是的,这将正常工作,但您可能需要更改Xcode C++编译器设置(语言级别和运行库),具体取决于您使用的iOS版本。
当实际使用Objective-C代码中的C++类时,只需将任何文件从.m
重命名为.mm
。
当您想在Objective-C头文件中包含C++头文件时,就会出现一个复杂的问题,因为.m
和.mm
都会看到Objective-C的头文件。在这种情况下,您可能会发现需要将更多的文件从.m
更改为.mm
才能正常工作,但如果这变得过于繁重,也有一些方法可以解决。
只需将文件添加到项目中即可。
只有当翻译单元包含C++头时,才需要从.mtoo.mm重命名文件。然后,模块被C++"感染",需要使用Objective-C++编译器进行编译。
只有当任何C++标头将直接或间接包含/从该模块导入时,才需要这样做。不需要重命名所有文件。
此外,如果此C++代码依赖于C++标准库,则还需要通过在可执行二进制文件中设置适当的构建设置,确保可执行二进制程序链接到C++标准库。
例如,在应用程序的目标构建设置中,将以下选项添加到其他链接器标志:-lc++
例如:OTHER_LDFLAGS = -ObjC -lc++
注意:
如果可能的话,不要在公共Objective-C头中包含/导入C++头,因为当所有模块导入这个Objective-C头部并成为Objective-C++时,它们都会被C++感染。
相关文章:
- 在iOS应用程序中创建数据库
- 将文件从 iOS 应用程序加载到 C++ 对象中/<iostream>iOS 上的问题
- 来自另一个 IOS 应用程序的 IOS 应用程序命令
- 如何在iOS应用程序中锁定代码执行
- 避免在iOS应用程序上进行反向工程,这是可能的
- 将C++代码导入IOS应用程序
- 是否需要XCode才能在Visual Studio上使用C++开发iOS应用程序
- 向iOS应用程序添加64位切片会导致崩溃
- iOS应用程序在相同的内存地址获得EXC_BAD_ACCESS,但原因不同
- 如何构建使用 OpenCV 的 XCode 6 iOS 应用程序 - 未定义错误__cplusplus
- 使用 Unity 在 iOS 应用程序上发送电子邮件时出错
- 应用商店是否允许使用带有嵌入式 dylibs 的 iOS 8 应用程序
- 如何在 Windows 平台上开发 iOS 应用程序
- 在 iOS 应用程序中解压缩 bzip2
- 使用OpenCV在ios应用程序中检测圆圈
- ios应用程序访问文件与c++
- 通知从c++到UI在iOS应用程序
- 将OpenCV添加到iOS应用程序
- 文本渲染在iOS应用程序
- Visual Studio中的静态编译库(.lib)是否可以链接到iOS应用程序中?