Estoy intentando compilar fuentes C y C++ utilizando GCC.Compilación de archivos C y C++ utilizando GCC
gcc -std=c++0x test.cpp -std=c99 test.c -lstdc++
Ahora, esto funciona bien, excepto que tengo dos advertencias.
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
Por lo tanto, no puedo usar -Werror
con esta configuración. ¿Pueden estas advertencias ser suprimidas de alguna manera?
Lo que piensas_ que estás haciendo es muy diferente de _lo que estás haciendo_. Primero está estableciendo el estándar de lenguaje en C++ 0x y luego configurándolo en C99, que es equivalente a simplemente usar C99 para _both_ archivos. Sin embargo, la compilación de C++ en el modo C99 es imposible, por lo que para el archivo '.cpp', el compilador volverá a su valor predeterminado, que es C++ 98. Por lo tanto, compila el archivo C en C99 y el archivo C++ en C++ 98. Al analizar las opciones, GCC ve que tiene archivos incompatibles para la opción de versión de idioma, por lo que muestra advertencias para cada opción. – Damon