【问题标题】:zlib, harsh compiler warnings and configure testzlib,苛刻的编译器警告和配置测试
【发布时间】:2015-01-09 18:52:29
【问题描述】:

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

【问题讨论】:

  • 请提供configure.log的内容。

标签: warnings zlib configure


【解决方案1】:

我在一台新建的机器上遇到了完全相同的问题,我发现原因是我实际上没有安装适当的 GNU C 编译器 (reference)。所以抱怨编译器太苛刻,就是因为没有编译器。

尝试运行:

sudo apt-get install build-essential

然后尝试再次运行您的./configure

【讨论】:

  • “编译器太苛刻了,只是因为没有编译器”omg rofl 我来到这里的原因完全相同 - 感谢您的澄清......以及所有编写此类错误消息的人的死亡,哈。
  • > 所以抱怨编译器太苛刻,只是因为没有编译器。这在缺少编译器的情况下可能是正确的,但是当存在实际上是一个编译器时也会出现这种情况,显然是出于其他原因
【解决方案2】:

我的问题是:
cc1: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory

configure.log中搜索详情。

【讨论】:

    【解决方案3】:

    我的失败是因为它试图使用 cc(不存在)而不是 gcc

    【讨论】:

      【解决方案4】:

      是一个老问题,但我在编译 zlib 1.2.11 时遇到了这个问题,为了绕过这个问题,需要强制 sudo 以前进行配置

      sudo ./configure --prefix=path
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-23
        • 1970-01-01
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多