替代标题(以帮助搜索):
- Xcode构建阶段脚本失败
- Xcode以“make [1]:cc:没有这样的文件或目录”
失败- 为模拟器构建失败,构建设备工作
- Xcode无法为i386构建,但将用于armv6& ARMv7的
我有一个OpenSSL Xcode项目,该项目使用构建阶段脚本来编译iOS的libcrypto.a
和libssl.a
静态库(它也适用于Mac OS X)。
为device
构建工作时没有问题libcrypto.a
和libssl.a
已创建,可以链接到项目中。
但是,尝试为simulator
构建相同的库会导致构建错误:
cc -I. -I.. -I../include -D_DARWIN_C_SOURCE -UOPENSSL_BN_ASM_PART_WORDS -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -c -o cryptlib.o cryptlib.c
make[1]: cc: No such file or directory
make[1]: *** [cryptlib.o] Error 1
make: *** [build_crypto] Error 1
设置之间似乎没有什么区别,唯一的变量是架构; armv7
经文i386
。
答案 0 :(得分:8)
从Xcode 4.3开始,Apple停止捆绑命令行工具作为Xcode的标准配置。
这个问题是由Xcode试图为Device(armv6& armv7)和Simulator(i386)使用不同的编译器引起的。
在armv6&amp ;;的构建阶段脚本中armv7 Xcode将使用捆绑的工具(在cc
(clang)编译的问题中)。但对于模拟器构建,构建阶段脚本使用系统版本。
如果您尚未明确安装这些工具,则构建将失败。
要安装工具,请选择Xcode > Preferences > Downloads
点击“命令行工具”的“安装”。