2011-10-19 80 views
12

我有一個構建配置,有一些「-Wno」選項,意在覆蓋'gcc'和'clang'。問題在於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

之前與gcc 4.4,這是不可能實現的。上面關於-Wno-error = unknown-warning的建議不正確,可能是誤讀gcc手冊(其中「未知警告」用作gcc無法識別的警告的示例)的結果。

+0

我現在沒有時間重新測試,但是」-Wno-error = unknown-警告「解決方案在我發佈時一直在爲我工作。 – Catskul

+0

如果發現其他內容,仍會打印警告。似乎它不能被幫助。 –

0

原來有一個警告unknown-warning-Werror成爲一個錯誤。

這可以與被禁用:

-Wno-error=unknown-warning 
+0

這不適用於arm-linux-androideabi-g ++ v4.6.3,它仍然會給出「錯誤:無法識別的選項」--dynamic-linker'「 –

+0

它可能只適用於通過編譯器傳遞的項目。如果前端將選項傳遞給鏈接器,則鏈接器可能是抱怨的人。 – Catskul

+0

echo'int main(){return 42;}'| gcc -x c -Waaa -Wno-error = unknown-warning - 對我不起作用。 –

相關問題