Posted January 11, 201015 yr Bonjour/bonsoir Je sais qu'on peut facilement faire un make avec qmake mais j'ai envie d'essayer cmake avec Qt maintenant que j'utilise cmake pour la plupart de mes projets. Donc j'ai un projet simple pour l'instant : dossier bin;headers;src et CMakeLists.txt : cmake_minimum_required(VERSION 2.6) project(ImageLoader) set(EXECUTABLE_OUTPUT_PATH bin/) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") find_package (Qt4 REQUIRED) include_directories ( headers ${QT_USE_FILE} ) file( GLOB_RECURSE source_files ./src/* ) add_executable ( ImageLoader ${source_files} ) target_link_libraries ( ImageLoader ${QT_LIBRARIES} ) Malheureusement cela me retourne cette erreur au moment de faire le make et je vois pas ce que j'ai oublié de faire : 0:21 nicolas@AuraHxC-Desktop ~/Programmation/imagerie% make [ 50%] Building CXX object CMakeFiles/ImageLoader.dir/src/imageViewer.cpp.o cc1plus: error: /usr/share/cmake-2.6/Modules/UseQt4.cmake: not a directory make[2]: *** [CMakeFiles/ImageLoader.dir/src/imageViewer.cpp.o] Erreur 1 make[1]: *** [CMakeFiles/ImageLoader.dir/all] Erreur 2 make: *** [all] Erreur 2 zsh: exit 2 make Une idée ? merci d'avance EDIT : Problème Résolu => Si quelqu'un est intéressé faudra me le dire
January 13, 201015 yr Ben n'hésites pas à partager des connaissances. « Si tu ne sais pas : demande, si tu sais : partage ! »
January 13, 201015 yr Author Voilà donc mon code qui fonctionne, par contre c'est un code qui fonctionne si votre projet n'a pas de besoin de compilation rcc et de fichier .ui => c'est juste une compilation basique Qt4 avec la subtilité du côté de la compilation moc. #Version Minimum utilisé cmake_minimum_required(VERSION 2.6) #Nom du projet project(ImageLoader) #Executable enregistré dans le dossier bin set(EXECUTABLE_OUTPUT_PATH bin/) #Ajout dans une variable des fichiers headers contenant #des slots ou la macro Q_OBJECT set(MOC_HEADERS ./headers/imageViewer.hpp) #Mets dans la variable CMAKE_MODULE_PATH les fichiers .cmake contenu #dans le dossier cmake/ (fichier Findx.cmake) #set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") add_definitions(-Wall) #Utilisation du module Qt4 de CMake find_package(Qt4 REQUIRED) #Ajout du dossier headers/ aux headers pour la construction include_directories(headers) #Ajout d'un fichier CMake, ici QT_USE_FILE include( ${QT_USE_FILE} ) #Creation du code moc avec les fichiers headers contenu #dans la variable MOC_HEADERS QT4_WRAP_CPP( MOC_OUTFILES ${MOC_HEADERS} ) #Chargement dans la variable source_file des fichiers #source contenu dans le dossier src/ file( GLOB_RECURSE source_files ./src/*.cpp ) #Ajout d'un executable du nom de ImageLoader construit #avec les sources contenu dans la variable source_files #et les fichiers moc_xxx contenu dans la variable MOC_OUTFILES add_executable ( ImageLoader ${source_files} ${MOC_OUTFILES} ) #liaison des librairies (ici librairie Qt) avec la cible #spécifié (ici ImageLoader) target_link_libraries ( ImageLoader ${QT_LIBRARIES} )
January 13, 201015 yr Author De rien si cela peut aider, j'ai pas mal galéré mais comme je voulais absolument savoir utiliser CMake (marre de faire des makefiles à la main) pour mes projets. Maintenant je sais très bien l'utiliser pour tout type de projet (Qt4, OpenGL, rajouter des librairies comme GLM, SFML etc...) et de plus je peux structurer mon code dans des dossiers ce qui me plait bien
Archived
This topic is now archived and is closed to further replies.