Ce n'est pas nécessairement spécifique à Unix / Linux, il est donc préférable de le demander sur Stack Overflow. Néanmoins, QtCreator est généralement assez bon pour détecter les installations alternatives de Qt, il suffit de créer un nouveau projet et de regarder sous l' Projects
onglet à gauche. Vous pouvez y définir différentes configurations de build. Il devrait y avoir une liste déroulante pour sélectionner parmi les différentes versions installées pour chaque configuration.
Sinon, il semble que la QTDIR
variable d'environnement soit utilisée pour définir la version Qt. Par défaut, QtCreator le définit /usr/share/qt4
pour moi, donc le définir sur le chemin équivalent (c'est-à-dire celui où se trouvent les fichiers de configuration) devrait faire qmake construire avec une version différente. Vous pouvez tester avec quelque chose comme:
QTDIR=/usr/share/qtX qmake --version
Il peut également être possible de définir cela dans le .pro
fichier, mais si c'est le cas, cela n'est pas documenté (comme avec beaucoup de qmake
variables).
De plus, si vous voulez construire avec une version majeure spécifique, il qmake
est généralement simplement lié à un binaire pour la version principale par défaut. Les vrais binaires sont qmake-qt4
, qmake-qt5
etc. Voir aussi man qtchooser
et les qtX-default
paquets sur les systèmes basés sur Debian.
Mise à jour
Il y a un bug avec qtchooser
sur Ubuntu 13.04 et 13.10 qui semble affecter la façon dont les applications Qt détectent différentes versions de Qt, voir https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1177823 . Cela peut également affecter QtCreator.
Cela m'a aidé à utiliser un
-qt=qt5
commutateur ouQT_SELECT=qt5
une variable d'environnement.la source
Il y a une meilleure méthode .
Si vous souhaitez rendre vos modifications permanentes, vous devez modifier le
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
fichier, qui est un lien symbolique vers../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
.Voici un exemple pour mon système (Ubuntu 17.10 x64, Qt 5.10.1). Je suggère de conserver à la fois le fichier de lien symbolique d'origine et sa cible (au cas où vous voudriez récupérer la configuration d'origine). Et créez également les nouveaux fichiers dans les emplacements par défaut (par souci de cohérence). Voici donc les étapes:
Renommez le fichier de lien symbolique:
Créez un nouveau fichier de configuration cible (avec n'importe quel nom):
Ce fichier doit contenir deux lignes: la première ligne est le chemin d'accès aux binaires Qt (y compris qmake) et la seconde est le chemin d'accès aux bibliothèques Qt (y compris les fichiers .so). Dans mon cas c'est
Enregistrez-le et fermez-le. Créez un lien symbolique
default.conf
vers le nouveau fichier de configuration:Vérifiez votre version de Qt:
Maintenant, il doit toujours utiliser la version spécifiée.
la source
Sous certaines distributions comme Debian Jessie Stable, vous pouvez faire ce qui suit:
Et sélectionnez simplement la version dont vous avez besoin si vous avez besoin de changer à nouveau, relancez la troisième ligne.
la source
Beaucoup des réponses ci-dessus fonctionneront. Cependant, j'ai personnellement constaté qu'aucun d'entre eux n'est persistant. Par exemple, je peux exécuter cette commande:
Mais si j'ouvre un nouveau terminal et vérifie la version de Qt, il reviendra à la valeur par défaut, et si vous avez plusieurs versions de Qt installées, la valeur par défaut n'est peut-être pas celle que vous souhaitez. Vous pouvez dire en exécutant cette commande:
La seule façon de coller vos modifications est de changer la version par défaut. Pour ce faire, modifiez
/usr/lib/x86_64-linux-gnu/qtchooser/default.conf
et modifiez cette ligne:Où vous passez
qt5
à la version que vous voulez. Vous pouvez utiliser la commandeqtchooser -list-versions
pour voir quelles versions sont installées sur votre ordinateur.la source
qmake
(/usr/bin/qmake
) n'est en fait qu'un lien symbolique versqtchooser
(/usr/bin/qtchooser
).Voici une citation de
man qtchooser
:Le fichier
/etc/xdg/qtchooser/default.conf
a une priorité plus élevée que/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
. Voici les étapes pour choisir la version Qt par défaut pour unqmake
exemple de mon système (Ubuntu 17.10 x64, Qt 5.10.1).Créez le
/etc/xdg/qtchooser
répertoire:Créez et modifiez le fichier de configuration:
Comme dit ci-dessus. ce fichier doit contenir deux lignes: la première ligne est le chemin d'accès aux binaires Qt (y compris qmake) et la seconde est le chemin d'accès aux bibliothèques Qt (y compris les fichiers .so). Dans mon cas, ce sera:
Enregistrez-le et fermez. Maintenant,
qmake
devrait utiliser la version Qt spécifiée.la source
Si vous le souhaitez
qt5
, àqt4
utiliser:la source
Dans (ma) configuration par défaut sur Fedora 23 ayant les deux
qt-3.3.8
et lesqt-4.8.5
environnements, il était également nécessaire d'ajouter/usr/libxx/qt4/bin/
temporairement le répertoire àPATH
pour permettre aux packagescmake
/qmake
de trouver la bonne version. Cela était nécessaire lors de la construction du code, pas lors de l'exécution de l'application QT4 terminée.Pour une raison quelconque, le chemin QT3 y était déjà installé de façon permanente et malheureusement au début du
PATH
, ce qui empêchait le sélecteur de version QT de fonctionner correctement.la source