编译所有iOS体系结构的c ++文件

时间:2015-08-21 08:36:23

标签: c++ compilation clang computer-architecture armv7

我有一些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 -------------------------//

enter image description here

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

enter image description here

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

enter image description here

谢谢!

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

更好地为每个拱门建造,然后将每个拱门粘合在一起。它有助于找出不同或错误包含的平台特定标题等。

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