2013-12-16 32 views
2

我想构建一个静态库来定位armv7。如何使用xcodebuild正确构建armv7静态库

我在bash脚本使用以下命令:

$XCODEBUILD -project 'MyLibrary.xcodeproj' -target "MyLibrary" -configuration 'Release' -sdk 'iphoneos7.0' clean build ARCHS='armv7 armv7s' IPHONEOS_DEPLOYMENT_TARGET='5.0' TARGET_BUILD_DIR='./build-arm' BUILT_PRODUCTS_DIR='./build-arm' 

我不能链接到所产生的库。我得到链接器错误:

file was built for archive which is not the architecture being linked (armv7s): ~/MyProject/MyProject/libMyLibrary.a

我建立二进制文件的方式有问题吗?

任何帮助,将不胜感激。

更新 ,我试图建立(链接到lib应用)目标具有以下设置:

enter image description here

+0

转到项目设置并将Build Active Architectures Only选项设置为否。这可能会解决问题 –

回答

3

检查构建设置(你正在试图建立目标!) - 确保两个ArchitecturesValid Architectures被设置为相同的值。

+0

感谢您的建议。架构设置为标准(包括64)armv7,armv7s,arm64。我试图设置这个和有效的体系结构只包括armv7和armv7s,但问题依然存在。 – Nick

+0

你想要他们一样,没有什么不同。您是否尝试设置“有效架构”以包含arm64?或者,您是否尝试设置为不包含arm64? –

+0

我使用屏幕截图更新了我的设置。这是你建议的对吗? – Nick

1

尝试设置ONLY_ACTIVE_ARCHS = NO在你的命令。

this post以及

+0

这似乎没有什么区别。 – Nick