【发布时间】:2015-08-21 08:36:22
【问题描述】:
我有一些 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 -------------------------//
谢谢!
【问题讨论】:
-
@JBL 尝试运行脚本但没有成功。 ./configure 在脚本中应该是什么意思?我必须将脚本放在哪个级别?在我的 .h 和 .cpp 文件的同一级别上?
-
我有点误会了,这并不适合您的问题。您是否尝试将这些文件编译为库以在您的 iOS 应用中使用?
-
@JBL:是的,这就是我想要做的
-
考虑使用
clang++而不是g++,g++只是一个clang 包装器。 -
为什么不使用 XCode 将这些 cpp 文件编译到库中呢?您可以创建一个包含这些的 XCode 项目,然后使用 XCode IDE 编译您想要的架构,或者使用 xcodebuild 从命令行编译项目(有选择架构的选项)
标签: c++ compilation clang computer-architecture armv7