zlib,严厉的编译器警告和配置测试

时间:2015-01-09 18:52:29

标签: warnings zlib configure

我正在尝试从命令行编译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""

4 个答案:

答案 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