c++ - ejecutar - gcc wikipedia
¿Cómo elige CMake gcc y g++ para compilar? (2)
Soy un novato de CMake, y me preguntaba por un proyecto de C ++ / C en el entorno de LINUX cómo CMake puede elegir compiladores entre gcc y g ++. Más específicamente, mis preguntas son las siguientes:
- Si un proyecto se compone de archivos .c y .cpp, ¿es cierto que gcc compilará los archivos .c mientras que g ++ compilará los archivos .c?
- Si un proyecto solo tiene archivos c o archivos cpp, ¿cuál es la operación de compilación predeterminada para CMake? ¿Será posible cambiarlo?
En breve, sí a ambos.
Puedes destrozarte con casi todo. Hay banderas y variables que unen extensiones al lenguaje; y luego las opciones de lenguaje / compilador / ejecutables que definen conjuntos de herramientas y construyen objetivos.
Consulte los siguientes enlaces a la documentación. Esas son algunas lecturas cortas agradables.
Nota: la wiki puede estar desactualizada pero debería ser válida en caso de asuntos importantes y educativos.
PD. Hay un montón de opciones relacionadas. Para leer un poco más, puede consultar las siguientes secciones de la documentación: Propiedades en archivos de origen y variables para idiomas . 2. Y 3. Vienen de estas secciones.
Que yo sepa, CMake solo mira las extensiones de archivo. Entonces, si cambia el nombre de su archivo .c a .cpp, se compilará con g ++, que yo sepa.
Es fácil cambiar ese comportamiento. CMake usa variables de entorno para ver qué compilador usar. Si desea cambiar el compilador a, por ejemplo, clang y clang ++, simplemente puede hacer
export CC = clang export CXX = clang ++
antes de ejecutar cmake.