2011-10-19 74 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 - 对我不起作用。 –

相关问题