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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !!!

Arnaud