web-dev-qa-db-fra.com

CMake ne sait pas où est Qt4 qmake

J'utilise le système d'exploitation Debian et j'essaie de pointer vers cmake où se trouve mon Qt4.

J'essaie de construire la bibliothèque qjson et avec son fichier CMakeLists.txt: http://Pastebin.com/fKNp0Qgy

Je reçois:

Qt5 not found, searching for Qt4
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:1386 (message):
  Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
  CMakeLists.txt:55 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!

Je ne connais pas bien CMake ni Qt config, mais je suis curieux de savoir quel paramètre forcer CMake FIND_PACKAGE à examiner '/ usr/lib/x86_64-linux-gnu/qt4/bin/qmake' pour qmake .. Qt 4.8.5 installé à partir de la source et j’ai le dossier Qt4 bin dans un répertoire complètement différent.

21
bLAZ

J'ai résolu mon problème.

Recherche de QT_SELECT avec la commande grep J'ai constaté que QT_SELECT était lié au fichier /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf. A partir du nom de fichier "par défaut", j'ai supposé qu'il s'agissait de ce qui est vu comme QT_SELECT. Les autres configurations présentées avec qtchooser -l se trouvent dans les répertoires /usr/share/qtchooser/ et /usr/lib/x86_64-linux-gnu/qtchooser.

Un tel fichier de configuration a deux lignes avec des chemins. Je viens de changer ces lignes, en pointant tout d'abord sur mon répertoire Qt bin et en second lieu sur mon répertoire Qt lib. Ensuite, je pouvais voir que qtchooser -print-env montre QTTOOLDIR et QTLIBDIR à mon Qt.

Ensuite, je pouvais facilement construire la bibliothèque qjson avec CMake, Qt4 a été trouvé correctement.

7
bLAZ

essayez juste "Sudo apt-get install qt-sdk" ça marche pour moi

21
Jim_Di

D'après mon expérience, ce problème est plus facilement résolu en plaçant le dossier contenant qmake dans votre variable d'environnement PATH.

7
Steve Fallows

Voici les réponses

https://askubuntu.com/questions/540746/ubuntu-14-04-qt5-development-libraries/540757#540757

Semble

apt-file search Qt5CoreConfig.cmake était ce qui me manquait. Cela m'a eu:

qtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake

Une installation qui semble conduire CMake à trouver Qt5. qmake rapporte toujours le même problème quand on l'appelle directement, bien ... il reste encore des traces de qt4 installées ...

Quant au problème qmake, il est corrigé par:

Sudo apt-get install qt5-default
3
JoulC

1) Où se trouve votre fichier de configuration qtchooser?

  $: locate qtchooser | grep conf

2) Dans la liste des fichiers de configuration, il existe probablement un appel "default.conf" Celui-ci est un lien vers l'un des autres (4.conf ou qt4.conf ou 5.conf ou qt5.conf) . Choisissez celui qui vous convient le mieux et créez un lien vers celui-ci.

Supposons que votre chemin de fichier par défaut est

/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

Créer une sauvegarde:

  $: cd $(dirname /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf)
  $: cp -av default.conf default.conf_backup

Disons que votre cible est /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf

Ensuite:

  $: Sudo ln -s /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf default.conf

3) Le chemin de votre qmake est-il correct?

Vérifiez qmake location

  $: locate qmake | grep bin

Est-ce le même que celui indiqué dans votre qtchooser/default.conf modifié?

  $: cat /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf

Si la réponse est OUI, alors vous avez terminé . Si la réponse est non, vous devez modifier le fichier:

Créer une sauvegarde:

  $: cd $(dirname /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf)
  $: cp -av qt5.conf qt5.conf_backup

Editer le fichier et changer le chemin vers votre emplacement qmake

  $ Sudo vi qt5.conf

Maintenant cela devrait être fait.

0
luis_js

Sur mon ancienne distribution RHEL, cela s’est avéré utile pour moi:

Sudo yum install qt-devel.x86_64

Juste le qt-base on ne fonctionnerait pas avec cmake.

0
Michael Fayad

Dans mon cas, c’était juste que qtchooser ne possédait pas la configuration "par défaut" . Je pensais que cmake exécutait simplement qtchooser et cherchait un nom de fichier de configuration "par défaut" . :

qtchooser -install <arbitrary_name> <path_to_qmake>

Dans mon cas, j'ai simplement fourni "default" comme nom arbitraire ... le fichier default.conf a été créé aux emplacements appropriés et tout va bien. Je ne pense pas qu'il y ait une limite au nombre de versions nommées de qt que vous avez . Si vous faites cela en tant que root, cela devrait fonctionner pour tous les utilisateurs.

0
user3420082

La solution la plus simple consistait à ajouter un lien dans le répertoire que la gem s'attendait à trouver. Sur Ubuntu 14.04, il vit dans/usr/bin. Solution simple.

0
snapdev