编译所有 iOS 架构的 c++ 文件

Compile c++ files for all iOS architectures

我有一些 cpp 文件,我想编译它们以便在模拟器上 运行 和 iPhone。我想做的是:

g++ -c file1.cpp file2.cpp -std=c++11
ar rcs libabc.a *.o

这编译很好,但只适用于 x86_64 架构..显然...

有什么简单的方法可以编辑这两行命令,以便为所有架构编译一个库(x86_64 i386 armv7 armv7s arm64)?还是我应该构建一些大型脚本来拥有该库?如果是这样?有现成的脚本吗?

我也尝试过 运行 使用 -arch:

g++ -c file1.cpp file2.cpp -std=c++11 -arch armv7 -arch x86_64

但我遇到了一些错误

//----------------- Error 1 -------------------------//

//----------------- Error 2 -------------------------//

//----------------- Error 3 -------------------------//

谢谢!

您是否考虑过 -arch 编译器标志?

g++ -c file1.cpp file2.cpp -std=c++11 -arch x86_64 -arch i386 -arch armv7 #...

最好单独构建每个拱门,然后将它们粘合在一起。它有助于找出不同的或错误包含的平台特定 headers 和其他。

但根据我的经验,如果您可以避免通过控制台构建,那么这一切都是不值得的。创建一个 Xcode 项目并使用一个假框架,如果它适合你的话。或者单独构建静态库,然后自己将它们粘合在一起。