qmake et QT_INSTALL_PREFIX. Comment puis-je choisir un nouvel emplacement pour la bibliothèque Qt?

StackOverflow https://stackoverflow.com/questions/913642

  •  06-09-2019
  •  | 
  •  

Question

Je suis nouveau à qmake et je suis en train de construire une application existante. Qt a été installé dans /usr/local/lib/Qt-4.3.5 et 'QMake -query QT_INSTALL_PREFIX' renvoie ce chemin.

Je l'ai déplacé la bibliothèque Qt vers un autre emplacement et les Makefiles générés sont parsemés de / usr / chemin d'origine locale.

Comment puis-je forcer qmake à utiliser le nouvel emplacement que je choisi sans recompiler Qt?

Était-ce utile?

La solution

Ceci est un 'builtin' compilé dans qmake de qconfig.cpp. La meilleure façon est de reconfigurer Qt avec un autre -prefix et reconstruire malheureusement. Pour la plupart des autres variables, vous pouvez utiliser un fichier .qmake.cache. Voir

http://doc.qt.digia.com/qt /qmake-environment-reference.html

pour plus d'infos

Autres conseils

Je regardais cela et trouvé dans une manière qui fonctionne (en 4.7.2 qt) en personnalisant pintes avec un fichier qt.conf.

Dans mon cas, j'ai ajouté un qt4-4.7.2/bin/qt.conf (Il doit être au même endroit que l'exécutable qmake)

Avec le contenu suivant:

[Paths]
Prefix = c:/my_path/to/qt4-4.7.2

et la -query qmake a commencé à retourner les chemins appropriés!

Voir: http://doc.qt.io/qt-4.8/qt-conf.html pour plus de détails


[Mise à jour:] Depuis au moins Qt 5.3.1 (testé avec les versions statiques de 5.3.1 et 5.5 sur Windows 8), vous pouvez simplement faire

[Paths]
Prefix = ..

et déployer l'installation de Qt partout.

Comme l'a souligné Henrik Hartz, QT_INSTALL_PREFIX est intégré et ne peut pas être changé. Cependant, si vous voulez juste travailler autour d'avoir à reconstruire Qt temporairement, alors vous pouvez essayer ce qui suit:

Requête qmake pour son préfixe d'installation, recréer la structure de répertoire indiqué, et utiliser un lien symbolique ou HardLink où la version Qt est déplacée. Par exemple. sur Linux

  • Obtenir le chemin rapporté par /new/Qt/location/bin/qmake -query QT_INSTALL_PREFIX. Dire les rapports /Parent/Dirs/Prefix.
  • Créer des répertoires parents du chemin, par exemple mkdir -p /Parent/Dirs/
  • Symlink vers un nouvel emplacement, par exemple ln -s /new/Qt/location /Parent/Dirs/Prefix

Ce qui précède peut être également utile si vous avez un groupe de développeurs qui ont besoin de travailler avec la même version préconstruit de Qt, où cette version Qt est pas nécessairement copiée sur le même chemin sur les ordinateurs de tous les développeurs, et où il vous suffit de regrouper les bibliothèques partagées Qt avec votre application pour les utilisateurs finaux (vous ne serez pas les en-têtes expédiez ou construire des outils).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top