我正在尝试为iOS应用程序编译库,但收到以下错误消息:
creating cache ./config.cache
checking for gcc... /Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch armv7
checking whether the C compiler (/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch armv7 ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
为什么armv7编译器无法创建可执行文件但它适用于i386和x86_64的任何想法?如何解决此错误?
答案 0 :(得分:1)
什么图书馆?
我猜测OpenSSL的外观(BSD-generic32
是告密者),如果是这样,只需使用OpenSSL-for-iPhone来构建它。
如果您感到好奇,那么帮助选择正确版本的重要部分位于build-libssl.sh脚本中。
更新:
有时,指定-arch
是不够的。传递整个-target
是有帮助的,特别是在编译C库时,或者通常部署在unix类型系统上的库。
尝试clang -target arm64-apple-ios ...
和clang -target armv7-apple-ios ...
,然后使用lipo
将这些库合并为一个具有多个架构支持的库。
例如,您可以使用clang -target armv7-apple-ios -dM -E - < /dev/null|less
尝试可能的目标三元组(并检查由它们产生的定义,如果您感到好奇)。