没有要编译的架构 (ARCHS=i386, VALID_ARCHS=arm64 armv7 armv7s)
Posted
技术标签:
【中文标题】没有要编译的架构 (ARCHS=i386, VALID_ARCHS=arm64 armv7 armv7s)【英文标题】:No architectures to compile for (ARCHS=i386, VALID_ARCHS=arm64 armv7 armv7s) 【发布时间】:2014-05-28 19:10:36 【问题描述】:前言:我确实看过similar questions,但似乎没有一个答案能解决我的问题。
我正在尝试使用以下方式构建我的 xcode(版本 5.1.1)项目:
xcodebuild clean build -sdk iphonesimulator7.0 -arch "armv7s" ONLY_ACTIVE_ARCH=NO
,
当我运行它时,我得到:No architectures to compile for (ARCHS=armv7s, VALID_ARCHS=i386 x86_64)
作为错误。我尝试使用所有 VALID_ARCHS (rm64 armv7 armv7s) 作为输入的上述命令。所以我然后尝试运行这个命令:
xcodebuild clean build -sdk iphonesimulator7.0 -arch "i386" ONLY_ACTIVE_ARCH=NO
然后我得到No architectures to compile for (ARCHS=i386, VALID_ARCHS=arm64 armv7 armv7s)
作为错误。我尝试使用所有其他 VALID_ARCHS (i386 x86_64) 运行上述命令,但也没有运气。我不知道为什么会发生这些架构错误。我的项目中有 cocoapods,上面链接中的第一个答案并没有解决我的问题。
【问题讨论】:
By default, Xcodebuild builds the first target listed in the project (and with the default build configuration)。您的项目中有多少个目标?做第一个 @MichaelDautermann 我的 xcode 项目中Valid Architectures
下有“arm64 armv7 armv7s”
也添加“i386”,因为模拟器使用的是不同的架构。
所以应该是... -arch "i386 arm64 armv7 armv7s"
?
Valid Architectures
应该包括 "i386
"。
【参考方案1】:
您可以覆盖默认变量: 尝试使用这个:
xcodebuild clean build -sdk iphonesimulator7.0 -arch "i386" ONLY_ACTIVE_ARCH=NO VALID_ARCHS="i386 x86_64"
如果您为模拟器构建 - 始终为 i386/x86_64 构建。
【讨论】:
如何在项目设置中解决这个问题? 在我的情况下,我通过引用上面的答案添加这一行 -arch i386 ONLY_ACTIVE_ARCH=NO VALID_ARCHS=i386 它为我工作。谢谢@Sath89【参考方案2】:转到您的项目设置(不是目标)。然后打开 Build Settings 并为 Valid architectures 添加一个值:i386
【讨论】:
以上是关于没有要编译的架构 (ARCHS=i386, VALID_ARCHS=arm64 armv7 armv7s)的主要内容,如果未能解决你的问题,请参考以下文章
没有要编译的架构(only_active_arch = yes,active arch = x86_64,valid_archs= i386
没有要为 (ARCHS=, VALID_ARCHS=armv7k) Xcode 7 beta 3 编译的架构
没有要编译的架构 (ARCHS=armv7,armv7s, VALID_ARCHS=armv7 armv7s)
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).错误解决方法(
xcode工程编译错误:No architectures to compile for
Ubuntu 16.04使用NASM编译时用ld链接程序出现:i386 架构于输入文件 sandbox.o 与 i386:x86-64 输出不兼容(I386 architecture in the i