我有一些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 -------------------------//
谢谢!
答案 0 :(得分:4)
您是否考虑过-arch
编译器标志?
g++ -c file1.cpp file2.cpp -std=c++11 -arch x86_64 -arch i386 -arch armv7 #...
答案 1 :(得分:0)
更好地为每个拱门建造,然后将每个拱门粘合在一起。它有助于找出不同或错误包含的平台特定标题等。
但根据我的经验,如果您可以避免通过控制台构建,这一切都不值得。如果它适合你,创建一个Xcode项目并使用假框架。或者单独构建静态库,然后自己将它们粘合在一起。