tutorial - Usando cmake en windows para c++
compilar c++ en visual studio code (3)
Si lo entendí correctamente, quiere usar CMake en su proyecto. Estoy usando CMake en todos mis proyectos. No le daré instrucciones exactas paso a paso, ya que uso Arch Linux pero también lo usé en Windows 7.
- Para que CMake encuentre las bibliotecas, a menudo se necesita configurar la variable de entorno CMAKE_PREFIX_PATH para que apunte a los directorios donde están instaladas las dependencias de su proyecto.
- Configura la variable de entorno PATH para que puedas invocar tu compilador y hacer solo al llamar, por ejemplo, llamando.
make.
Creo que debe hacerlo manualmente para Mingw32, para Visual Studio puede usar el "Visual Progress Command Propt" que ya tiene estas variables establecidas. Ejecute CMake con el generador deseado. Para seleccionar el generador desde la línea de comando use el interruptor -G. Probablemente usará uno de los siguientes (el ... significa otras opciones que desea pasar a cmake)
Para GNU make use en MinGW use
cmake -G "MinGW Makefiles" ...
Para NMake desde el estudio visual use
cmake -G "NMake Makefiles" ...
También es posible crear un proyecto de Visual Studio, pero no lo recomiendo, ya que es bastante difícil configurar compilaciones automáticas en ese momento. También tuve algunos problemas con las dependencias cuando traté de usar el proyecto VS.
- cambiar el directorio a su directorio de compilación (es decir, aquel al que llamó
cmake
, contiene el archivo CMakeCache) y ejecutarmake
onmake
durante aproximadamente 5 días consecutivos intenté configurar mi computadora con el entorno c ++ para programar con bibliotecas como sdl, glm, opengl. es importante para nosotros poder ejecutarlo en máquinas Unix en presentaciones, así que estoy ejecutando con cmake. Finalmente conseguí que funcionara con el cmake-gui, ni siquiera me molestaría en intentarlo con ningún IDE.
Especifiqué mi proyecto de carpeta y dónde construir los archivos binarios, obtuve una carpeta "CMakeFiles" junto con un txt "CMakeCache", un archivo CMAKE "cmake_install.cmake" y un archivo "Makefile". también en mi carpeta "CMakeFiles" hay muchas otras carpetas como "CMakeTmp", "CompilerIdC", "CompilerIdCXX, etc." y en ambas carpetas "Compilador *" tiene cada uno un .exe que no funciona. Entonces, ¿dónde está mi ejecutable deseado?
Abrí cmd y navegué a mi carpeta e intenté escribir "hacer" como se supone que debemos hacer de acuerdo con la instrucción. por desgracia, no funcionó muy bien. ¡esperando que puedas compartir tu sabiduría y ayudar a un novato como yo!
Entonces, ¿qué es exactamente lo que se necesita para compilar proyectos que contienen bibliotecas adicionales? hasta ahora tengo un compilador, Mingw32, el último CMake y el uso de cmake-gui para extraer los binarios, pero obtiene makefiles.
EDITAR: hrrm. ¿Soy solo yo quien tiene este tipo de problemas? Puedo agregar que he visto minuciosamente alrededor de 10 tutoriales y el 90% de los pasos son similares (si compilo con VS, lo intenté al principio):
- Descargue el último SDL
- Cree una carpeta, por ejemplo, C: / SDL con dos carpetas, include y lib
- Copie las libs e incluye desde el SDL descargado
- Cree un nuevo proyecto VS, abra directorios VC ++ y agregue la carpeta lib / incl en, por ejemplo, C: / SDL
- Agregar al enlazador SDL.lib y SDLmain.lib (me aseguré de que estuvieran vinculados, no hay problema aquí)
- Cambie el sistema a WINDOWS (opcional si no quiere dos ventanas)
- Se agregó incluir a "bibliotecas adicionales"
- Coloque el archivo SDL.dll (que obtuve de la última SDL) en mi C: / windows / system32 (64SysWoW) y también en mi archivo de proyecto.
entonces, lo que realmente estoy buscando es hacer que CMake funcione, ya que genera y crea fuentes con éxito (con la interfaz gráfica de usuario) y siento que me estoy acercando. ¿Debo agregar cualquier biblioteca adicional de sdl a mi compilador mingw32 y / o cmake?
Ya casi estabas allí con Visual Studio. Seleccione Visual Studio como destino. Abra el proyecto generado en Visual Studio, compilarlo. (al igual que ya lo hiciste). Luego, en lugar de intentar ejecutar BUILD_ALL, ejecutar un proyecto real que cree un ejecutable, también debe estar en esa lista. Simplemente haga clic derecho y ''jugar''.
Si aún recibe errores, publíquelos en detalle, incluido lo que hizo antes del error. Nota: un proyecto CMake multiplataforma cuidadosamente configurado (también conocido como CMakeLists.txt) no debería requerir ninguna manipulación con los directorios de VC ++. Debería funcionar automágicamente, especialmente con libs conocidas como SDL.
si ejecuta cmake por comando:
cmake -G "Visual Studio 14 Win64" path/to/source/dir
necesita ejecutar este comando para continuar (en Símbolo del sistema de Visual Studio ):
msbuild Project.sln
ya sea si ejecuta cmake:
cmake -G "NMake Makefiles" path/to/source/dir
necesita ejecutar este cmd para continuar (en Símbolo del sistema de Visual Studio ):
nmake