2015-01-09 26 views
3

我想在命令行編譯zlib的,並使用-Wall -Wextra -Wconversion當我得到這個消息(全交叉編譯腳本如下):zlib的,惡劣的編譯器警告,並配置測試

編譯錯誤報告對於./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

請提供configure.log的內容。 – 2015-01-10 04:36:23

回答

5

我有一個新建的機器上完全相同的問題,我發現原因是,我實際上沒有安裝相應的GNU C編譯器(reference)。因此,它抱怨編譯器過於苛刻,僅僅因爲沒有編譯器。

嘗試運行:

sudo apt-get install build-essential 

,然後嘗試運行您./configure一次。

+0

「編譯器太苛刻了,因爲沒有編譯器」omg rofl我來到這裏是出於完全相同的原因 - 感謝所有編寫這些錯誤消息的人澄清......和死亡,哈哈。 – moodboom 2016-11-28 20:05:11

+0

>因此,它抱怨編譯器太苛刻,僅僅因爲沒有編譯器。 在缺少編譯器的情況下,這可能是正確的,但是它也表明當它實際上是一個編譯器時,顯然是出於其他原因 – 2016-12-29 14:07:34

0

我的失敗是因爲它試圖使用cc(不存在)而不是gcc