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.
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.
essayez juste "Sudo apt-get install qt-sdk" ça marche pour moi
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.
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
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.
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.
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.
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.