我想使用GCC编译C和C++源代码。
gcc -std=c++0x test.cpp -std=c99 test.c -lstdc++
现在,这个方法可以正常工作,但是会有两个警告。
cc1plus: warning: command line option "-std=c99" is valid for C/ObjC but not for C++
cc1: warning: command line option "-std=c++0x" is valid for C++/ObjC++ but not for C
因此,我无法在这种设置下使用-Werror
。是否有办法抑制这些警告?
.cpp
文件,编译器将回退到其默认设置,即C++98。因此,你正在使用C99编译C文件,而使用C++98编译C++文件。在解析选项时,GCC发现你有不兼容的文件与每个语言版本选项,因此它会输出每个选项的警告。 - Damon