如何使用xcodebuild构建特定的架构?

问题描述 投票:0回答:2

我有依赖于指针

32-bit
的遗留代码,并且想要使用
xCodeBuild
command line
构建该代码。由于某种原因这不起作用。这是我使用的命令:

xcodebuild -configuration Debug -arch i386 
  -workspace MyProject.xcworkspace -scheme MyLib

这是我得到的输出

[BEROR]No architectures to compile for 
  (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

显然它正在尝试构建

x86_64
代码并惨败,因为我只在 xCode 项目设置中从
i386
启用了
VALID_ARCHS

有没有办法让它明白我不需要

64-bit
图书馆?

macos debugging command-line xcode4 xcodebuild
2个回答
69
投票

如果您希望

ONLY_ACTIVE_ARCH
使用
NO
参数,则必须将
xcodebuild
设置为
ARCHS
。通过传递这些参数,您可以强制采用正确的架构。

xcodebuild ARCHS=i386 ONLY_ACTIVE_ARCH=NO -configuration Debug -workspace MyProject.xcworkspace -scheme MyLib

请参阅此参考资料了解详细信息。


3
投票

仅构建活动架构(ONLY_ACTIVE_ARCH)

xcodebuild ONLY_ACTIVE_ARCH...
//or
Build Settings -> Build Active Architecture Only -> ONLY_ACTIVE_ARCH

YES
- 使用单一架构为连接的设备构建二进制文件

NO
- 为特定的
-arch
valid architectures
又名
VALID_ARCHS
)构建二进制文件(如果已指定)或在其他情况下为所有架构

建议使用

Yes
进行调试(以节省构建时间),使用
No
进行发布构建。

注意:在模拟器上运行是安全的

要检查版本,请使用

lipo -info
[关于]

© www.soinside.com 2019 - 2024. All rights reserved.