我有一個構建配置,有一些「-Wno」選項,意在覆蓋'gcc'和'clang'。問題在於gcc不能識別某些特定的clang,並且因爲它而無法編譯。錯誤的是否有可能讓gcc忽略未知的命令行選項?
例子:
error: unrecognized command line option "-Wno-self-assign"
有沒有辦法告訴GCC忽略它不能識別的命令行選項?
我有一個構建配置,有一些「-Wno」選項,意在覆蓋'gcc'和'clang'。問題在於gcc不能識別某些特定的clang,並且因爲它而無法編譯。錯誤的是否有可能讓gcc忽略未知的命令行選項?
例子:
error: unrecognized command line option "-Wno-self-assign"
有沒有辦法告訴GCC忽略它不能識別的命令行選項?
這是GCC> = 4.4的默認值,見https://gcc.gnu.org/gcc-4.4/changes.html
之前與gcc 4.4,這是不可能實現的。上面關於-Wno-error = unknown-warning的建議不正確,可能是誤讀gcc手冊(其中「未知警告」用作gcc無法識別的警告的示例)的結果。
原來有一個警告unknown-warning
與-Werror
成爲一個錯誤。
這可以與被禁用:
-Wno-error=unknown-warning
這不適用於arm-linux-androideabi-g ++ v4.6.3,它仍然會給出「錯誤:無法識別的選項」--dynamic-linker'「 –
它可能只適用於通過編譯器傳遞的項目。如果前端將選項傳遞給鏈接器,則鏈接器可能是抱怨的人。 – Catskul
echo'int main(){return 42;}'| gcc -x c -Waaa -Wno-error = unknown-warning - 對我不起作用。 –
我現在沒有時間重新測試,但是」-Wno-error = unknown-警告「解決方案在我發佈時一直在爲我工作。 – Catskul
如果發現其他內容,仍會打印警告。似乎它不能被幫助。 –