gpt4 book ai didi

c++ - 如何在 Xcode 中包含 C++ 库

转载 作者:行者123 更新时间:2023-11-30 03:59:14 28 4
gpt4 key购买 nike

我正在将一个使用 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 的东西在这里 :))。

如果您只想提供一个静态库二进制文件并从那里使用静态链接(我真的不推荐这样做,没有断点和其他一些麻烦)那么您必须记住以下几点:

  • 您需要为每个不同的平台(不同于 iPhone、arm64、armv7 和 armv7s 的 iOS 模拟器)分别编译静态库并相应地链接
  • 上述方法的替代方法是制作胖库(通用库)

关于c++ - 如何在 Xcode 中包含 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27016191/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com