2011-10-19 27 views
12

ビルド構成には、「gcc」と「clang」の両方をカバーするいくつかの「-Wno」オプションがあります。問題は、gccがclang固有のものの一部を認識せず、そのためにコンパイルに失敗することです。エラーのgccに不明なコマンドラインオプションを無視させることはできますか?

例:

error: unrecognized command line option "-Wno-self-assign" 

それが認識されないコマンドラインオプションを無視するようにGCCを伝える方法はありますか?

答えて

5

これは、GCC> = 4.4のデフォルトである、https://gcc.gnu.org/gcc-4.4/changes.html

4.4 gccの前にを参照してください、これは達成することはできません。上記の-Wno-error = unknown-warningの提案は間違っています。おそらく、gccマニュアルを誤読した結果です(gccが認識できない警告の例として「unknown-warning」が使用されています)。

+0

私は今すぐ再テストする瞬間はありませんが、 "-Wno-error = unknown-私がそれを投稿した時点で、「警告」ソリューションが私のために働いていました。 – Catskul

+0

他に見つかった場合でも警告が表示されます。それは助けられないようです。 –

0

-Werrorでエラーになる警告unknown-warningがあります。

これがで無効にすることができます。

-Wno-error=unknown-warning 
+0

これはarm-linux-androideabi-g ++ v4.6.3では動作しません。これは "error:unrecognized option '--dynamic-linker'"と表示されます。 –

+0

コンパイラで渡された項目に対してのみ有効です。フロントエンドがオプションをリンカーに渡すと、リンカーは不平を言うかもしれません。 – Catskul

+0

echo 'int main(){return 42;}' | gcc -x c -Waaa -Wno-error =不明警告 - は私にとっては機能しません。 –

関連する問題