parametros ejecutar con compilar compilador c++ cmake

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:

  1. 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?
  2. 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.

  1. Cambiar compilador / conjunto de herramientas
  2. Extensiones por idioma
  3. Variable del lenguaje

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.