c++ - course - cmake script tutorial
Error de enlace de destino de la biblioteca de enlaces de Cmake (1)
La sintaxis de target_link_libraries
es:
target_link_libraries(your_executable_name libraries_list)
Y no tiene que agregar instrucciones target_link_libraries
( target_link_libraries
agrega estas opciones)
También hay algunas variables útiles proporcionadas por los paquetes OpenGL y GLEW.
Tu CMakeLists.txt debería ser como:
cmake_minimum_required (VERSION 2.6)
project (test)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS})
add_executable(test
main.cpp
)
target_link_libraries(test ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES})
Un detalle importante a tener en cuenta es colocar las target_link_libraries
después de la línea add_executable
(o add_library
).
Hola, tengo problemas con linkg Glfw y otras bibliotecas usando cmake. Desde la línea de comandos compilo así
g++ main.cpp -lGL -lGLU -lGLEW -lglfw
Pero quería usar cmake para compilar. Intenté usar target_linkg_libraries pero esto produce un error
Error de CMake en CMakeLists.txt: 18 (target_link_libraries): No se pueden especificar las bibliotecas de enlaces para el objetivo "GL" que no está construido por este
proyecto.
Intenté hacer esto usando agregar definiciones. No veo el error pero esto no vincula las bibliotecas.
cmake_minimum_required (VERSION 2.6)
project (test)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
ADD_DEFINITIONS(
-lGL
-lGLU
-lGLEW
-lglfw
)
add_executable(test.out
main.cpp
)
target_link_libraries(GL GLU GLEW glfw)