2011-08-16 23 views
28

Estoy usando CMake versión 2.8 en WinXP SP3. Cada vez que ejecuto mi script CMakeLists de forma predeterminada CMake use el compilador de Visual Studio 10. Intenté hacer:Configuración del compilador predeterminado en CMake

SET(CMAKE_CXX_COMPILER "C:/MinGW/bin/g++") 

sin éxito. ¿Cómo puedo configurar MinGW como mi compilador predeterminado para que no tenga que preocuparme de configurar el compilador en CMakeLists?

+12

No establezca CMAKE_CXX_COMPILER en un archivo CMakeLists.txt. Consulte esta página wiki sobre cómo cambiar el compilador: http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F. Además, tenga en cuenta que no puede cambiar el compilador una vez que se almacena en caché en un árbol de construcción determinado. Limpie el árbol de compilación, o use uno nuevo, y comience nuevamente con un compilador diferente. – DLRdave

Respuesta

23

En Windows CMake uses the newest Visual Studio installation como generador predeterminado, a menos que el generador se especifique explícitamente al invocar CMake. Este comportamiento está codificado y no se puede cambiar.

Como solución alternativa se puede utilizar un script por lotes envoltorio titulado cmake.bat con el siguiente contenido:

@cmake.exe -G "MinGW Makefiles" %* 

El guión debe ser colocado en un directorio en el PATH del sistema y debe prevalecer sobre el ejecutable CMake cmake.exe.

La secuencia de comandos invoca cmake.exe con MinGW como generador y le reenvía todos los demás parámetros.

10

es suficiente con establecer el formato de cadena de herramientas/salida de una vez, por lo general usted haría esto al ejecutar cmake por primera vez:

cmake -G "MinGW Makefiles" . 

En lugar del punto puede utilizar sus propios parámetros (si los hay) y/o el camino a la fuente.

Como alternativa, especialmente cuando es nuevo en CMake, use la versión de GUI en Windows (ejecute cmake-gui sin parámetros en lugar de cmake).

Una vez abierto, establezca sus rutas y haga clic en "Configurar". Si no hay un conjunto de compiladores, le pedirá que elija uno (de lo contrario, debe borrar el caché para que vuelva a aparecer).

Los valores de configuración actualizados aparecerán en rojo y también le permitirán seleccionar archivos y rutas utilizando los cuadros de diálogo comunes de Windows.

Una vez que la configuración esté completa y sin errores, puede presionar "generar" para crear sus archivos make o archivos de proyecto. Para actualizarlas más adelante, puede usar cmake-gui nuevamente o simplemente usar la versión de línea de comando habitual cmake.

+2

Una nota sobre el uso de cmake -G "MinGW Makefiles". Al menos para mí tuve que asegurarme de que el directorio MinGW \ bin aparezca en la ruta después del directorio VisualStudio \ VC \ bin. Antes de eso, incluso con el generador de MinGW, se usaba el compilador c1.exe en lugar de g ++ de GNU – odedsh

Cuestiones relacionadas