Problème linkage CMake / GLFW
Bonjour,
Je cherche à faire un CMake pour un projet OpenGL. Je suis débutant dans ce domaine et
je rencontre un bug que j'ai du mal à analyser ...
Voilà mon CMakeLists.txt
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
cmake_minimum_required(VERSION 2.8)
#Déclaration du projet
project(playground)
set(EXECUTABLE_OUTPUT_PATH ../bin)
#X11
FIND_PACKAGE(X11)
INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR})
#GLFW
FIND_PACKAGE( PkgConfig REQUIRED )
PKG_SEARCH_MODULE( GLFW3 REQUIRED glfw3 )
INCLUDE_DIRECTORIES( ${GLFW3_INCLUDE_DIR} )
#OpenGL
FIND_PACKAGE(OpenGL)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
set(GL_LIBRARIES ${OPENGL_LIBRARIES} GLEW)
#Génération de la liste des fichiers sources
file(
GLOB_RECURSE
source_files
src/*
)
#Déclaration de l'executable
add_executable(
main
${source_files}
)
target_link_libraries(main ${X11_LIBRARIES})
target_link_libraries(main ${OPENGL_LIBRARIES})
target_link_libraries(main ${GLFW3_LIBRARIES}) |
Et voilà la sortie
Code:
1 2 3 4 5 6 7 8 9 10
|
Scanning dependencies of target main
[100%] Building CXX object CMakeFiles/main.dir/src/glfwMinimal.cpp.o
Linking CXX executable ../bin/main
/usr/bin/ld: //usr/local/lib/libglfw3.a(x11_window.c.o): référence au symbole non défini «XConvertSelection»
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libX11.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [../bin/main] Erreur 1
make[1]: *** [CMakeFiles/main.dir/all] Erreur 2
make: *** [all] Erreur 2 |
Bien qu'il existe plusieurs discutions autour de ce problème je n'ai pas vraiment compris comment le corriger,
ni même d'où il vient ...
Merci d'avance pour votre aide !!! :D
Arnaud