作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一个使用 C++ 库的 Android 应用程序迁移到 iOS。C++ 库为应用程序提供主要应用程序功能。是否可以在 XCode 项目中包含 C++ 库?
我知道 Apple LLVM 编译器可以编译 C 代码,因此一个可能的解决方案是将 C++ 代码编译到共享库中,然后提供一个 C 包装器以便能够从 Objective-C 访问 C++ 代码。 Android 应用程序和 JNI 也采用了类似的解决方案。
最佳答案
是的,你可以。
有两种方法可以做到这一点。
最简单的方法是将源代码添加到您的 iOS 项目中。如果你有库的源代码,那么你可以将它添加到你的项目中,只需确保将你的主文件(和其他 objective-c 文件)命名为 .m 到 .mm 以便让 XCode 现在你正在为 C++ 编译.
如果您想使用静态链接,我强烈建议创建一个静态库项目并将其添加到与您的 Objective C 主项目相同的工作区,然后将其声明为构建目标的依赖项(检查构建目标/构建模式 ... XCode 的东西在这里 :))。
如果您只想提供一个静态库二进制文件并从那里使用静态链接(我真的不推荐这样做,没有断点和其他一些麻烦)那么您必须记住以下几点:
关于c++ - 如何在 Xcode 中包含 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27016191/
我是一名优秀的程序员,十分优秀!