如何在OS X for ios上交叉编译本机makefile项目

How to cross-compile a native makefile project on OS X for ios?

本文关键字:交叉编译 本机 makefile 项目 ios for OS      更新时间:2023-10-16

我有一个最初针对win/osx/ubuntu的c/c++库。lib源代码是可用的,我想为ios编译它。

关于这个场景的许多讨论都是基于automake-configure脚本的假设,并且没有太大帮助,因为lib是一个原生的makefile项目。

我还尝试将lib作为外部目标添加到Xcode 5.1中,然后不知道如何为其指定构建设置(基本SDK、目标设备等)(我不经常使用Xcode)。Xcode中的外部目标似乎没有相对设置?

如有任何帮助,我们将不胜感激。

要为iOS编译C/C++,除了需要使用clang/clang++作为编译器并指定sysroot、arch和iOS版本外,您几乎需要像往常一样编译它。

您可以通过运行以下命令获取iphone sysroot:

xcrun --sdk iphoneos --show-sdk-path

这样的东西:

clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk -arch arm64 -arch armv7 -arch armv7s -miphoneos-version-min=7.0 file.cpp