我正在尝试从命令行编译zlib,并且在使用-Wall -Wextra -Wconversion
时收到此消息(完整的交叉编译脚本如下):
编译器错误报告对于./configure来说过于苛刻(也许删除
-Werror
)。
以下是生成该行的配置测试:
cat > $test.c << EOF
int foo() { return 0; }
EOF
echo "Checking for obsessive-compulsive compiler options..." >> configure.log
if try $CC -c $CFLAGS $test.c; then
:
else
echo "Compiler error reporting is too harsh for $0 (perhaps remove -Werror)." | tee -a configure.log
leave 1
fi
我不清楚究竟是什么判断过于严厉(特别是因为-Werror
不存在)。我也不太清楚测试中使用的示例程序是做什么的,所以我不清楚判断编译器警告“过于苛刻”的标准是什么。
什么是zlib抱怨过于苛刻?
#! /bin/sh
export PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:$PATH"
export CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
export CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
export LD=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
export AR=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
export RANLIB=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib
export CFLAGS="-Wall -Wextra -Wconversion --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdks""
export CXXFLAGS="-Wall -Wextra -Wconversion --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk""
答案 0 :(得分:8)
我在新建的机器上遇到了完全相同的问题,我发现原因是我没有安装相应的GNU C编译器(reference)。因此,它抱怨编译器过于苛刻,因为没有编译器。
尝试跑步:
sudo apt-get install build-essential
然后再次尝试运行./configure
。
答案 1 :(得分:0)
我的失败是因为它试图使用cc(不存在)而不是gcc
答案 2 :(得分:0)
我的问题是:
cc1: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory
在configure.log
中搜索详细信息。
答案 3 :(得分:0)
是一个老问题,但我刚刚在编译 zlib 1.2.11 时遇到了这个问题,要绕过这个需要强制 sudo 之前进行配置
sudo ./configure --prefix=path