Pregunta

Actualmente estoy tratando de conseguir CMake para ejecutar en mi sistema Windows 7 (64 bits). Quiero compilación TagLib para su uso posterior con una aplicación Qt estoy trabajando. Me gustaría compilarlo con MinGW (no Visual C ++ como en esta otra pregunta ).

descargar el instalador (cmake-2.8.3-win32-x86.exe) e instalarlo (también optar por añadir CMake a mi camino). luego voy al directorio por qué el archivo es CMakeLists.txt y correr cmake .. A continuación, me da este error gigante.

C:\Users\Joel\Downloads\taglib-1.6.3>cmake .
CMake Warning at CMakeLists.txt:1 (project):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Warning at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:
28 (ENABLE_LANGUAGE):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 (INCLUDE)
  CMakeLists.txt:1 (project)


CMake Error: your RC compiler: "CMAKE_RC_COMPILER-NOTFOUND" was not found.   Please set CMAKE_RC_COM
PILER to a valid compiler path or name.
-- Check for CL compiler version
-- Check for CL compiler version - failed
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - yes
-- Using FREE VC TOOLS, NO DEBUG available
-- Check for working C compiler: cl
CMake Warning at CMakeLists.txt:2 (PROJECT):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


CMake Warning at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:
28 (ENABLE_LANGUAGE):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 (INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22
(GET_FILENAME_COMPONENT):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 (ENABLE_LANG
UAGE)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 (INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error: CMAKE_RC_COMPILER not set, after EnableLanguage
CMake Error: your C compiler: "cl" was not found.   Please set CMAKE_C_COMPILER to a valid compiler
path or name.
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: cl -- broken
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52
(MESSAGE):
  The C compiler "cl" is not able to compile a simple test program.

  It fails with the following output:





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:1 (project)


CMake Error: your C compiler: "cl" was not found.   Please set CMAKE_C_COMPILER to a valid compiler
path or name.
CMake Error: your CXX compiler: "cl" was not found.   Please set CMAKE_CXX_COMPILER to a valid compi
ler path or name.
-- Configuring incomplete, errors occurred!

C:\Users\Joel\Downloads\taglib-1.6.3>

Yo estaba un poco sorprendido de que no fuera tan dura de la caja, teniendo en cuenta que se anuncia como una marca multiplataforma.

He intentado configuración incluyen, LIB y LIBPATH (Windows variables de entorno) todos a mi directorio MinGW binarios (C: \ MinGW \ bin) pero todavía me da el mismo error. También probé ajuste CMAKE_C_COMPILER y CMAKE_CXX_COMPILER a la ubicación de g ++. (C: \ MinGW \ bin \ g ++)

¿Alguien sabe lo que está pasando aquí?

SOLUCIÓN:

Por sugerencia de Tibur, me encontré con la GUI cmake para crear los archivos de maquillaje. Luego entró en el directorio directorio taglib y corrió mingw32-make.exe hacer la construcción actual.

¿Fue útil?

Solución

El generador predeterminado para Windows parece estar preparado para NMAKE. Trate de usar:

cmake -G "MinGW Makefiles"

O utilizar la GUI y seleccione MinGW Makefile cuando se le solicite para un generador. No se olvide de limpiar el directorio donde se ha intentado ejecutar CMake, o borrar la memoria caché en la interfaz gráfica de usuario. De lo contrario, se intentará de nuevo con NMAKE.

Otros consejos

Hay una vcvars32.bat en el directorio de instalación de Visual Studio. Puede añadir cmd.exe llamada al final de ese programa por lotes y lanzarlo. De esa cáscara puede utilizar CMake o cmake-gui y cl.exe serán conocidas por CMake.

scroll top