2010-08-17 6 views
2

$ {QT_LIBRARIES} semble être "" lorsque je fais un message ("$ {QT_LIBRARIES}") et j'ai des doutes sur le fait qu'il n'est pas configuré correctement. En fait, il ne semble pas que l'un des attributs soit correctement défini par find_package (Qt4 REQUIRED). Des idées?

J'ai aussi essayé find_package (Qt4 4.6.2 COMPOSANTS QtCore QtGui REQUISE)

et je sais qu'il est de trouver les bibliothèques individuelles qt (de cmake-IUG).

Merci d'avance!

Répondre

5

Vous devez spécifier les bibliothèques Qt réelles dont vous avez besoin, comme celui-ci: (cité de la page man)

find_package(Qt4 4.4.3 COMPONENTS QtCore QtGui QtXml REQUIRED) 
+0

J'ai déjà vu ça (et je l'ai essayé), mais ça ne semble toujours pas définir $ {QT_LIBRARIES} =/ – Cenoc

+0

@Cenoc: c'est étrange, ça marche pour moi. Probablement, vous devez regarder dans/usr/share/cmake/Modules/FindQt4.cmake (ou similaire sur votre système) pour voir ce qui se passe. – jpalecek

+0

C'est la version 2.8, il semble que ce devrait être réglé. Eh bien, cela fonctionne si je fais un lien dans $ {QT_QTCORE_LIBRARY}, $ {QT_QTGUI_LIBRARY}, $ {QT_OPENGL_LIBRARY} manuellement, mais il aurait été plus agréable d'utiliser $ {QT_LIBRARIES}. – Cenoc

2

L'étape je pense que vous manque,

include(${QT_USE_FILE})

Cette volonté chargez la variable QT_LIBRARIES, ajoutez les modules que vous avez demandés au chemin d'inclusion du compilateur. Si vous n'incluez pas le fichier d'utilisation, vous devez créer un lien vers Qt core, etc individuellement. La plupart de ces informations se trouvent dans le fichier FindQt4.cmake utilisé lorsque find_package est appelé (les modules de recherche documentent tous leur propre comportement).