编译所有 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 项目并使用一个假框架,如果它适合你的话。或者单独构建静态库,然后自己将它们粘合在一起。
我有一些 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 项目并使用一个假框架,如果它适合你的话。或者单独构建静态库,然后自己将它们粘合在一起。