qmake: impossible de trouver une installation Qt de ''

136

J'ai un logiciel dans ubuntu qui m'oblige à exécuter qmake pour générer le Makefile.

Cependant, l'exécution de qmake renvoie cette erreur,

qmake: could not find a Qt installation of ''

J'ai installé ce que je pensais être les packages requis en utilisant,

sudo apt-get install qt4-qmake
sudo apt-get install qt5-qmake

Mais l'erreur n'a pas disparu.

Toute aide à ce sujet serait appréciée!

Curieuse
la source
6
Essayez de courir sudo apt-get install qtcreator. Il installe le SDK Qt complet + un IDE. Il devrait ajouter tout ce dont vous avez besoin.
sashoalm
Salut @sashoalm, merci beaucoup, il me semble qu'il me manquait d'autres paquets. Maintenant ça marche: D
Curieux
6
Ce n'est pas une bonne solution car cela installera de nombreux packages potentiellement inutiles.
Scone

Réponses:

177

sudo apt-get install qt5-default travaille pour moi.

$ aptitude show qt5-default
dit que

Ce paquet définit Qt 5 comme la version par défaut de Qt à utiliser lors de l'utilisation de binaires de développement comme qmake. Il fournit une configuration par défaut pour qtchooser, mais n'empêche pas l'utilisation d'autres installations Qt.

ptmono
la source
1
Pouvez-vous décrire davantage votre solution?
user35443
3
la réponse acceptée n'est pas du tout une réponse. Celui-ci devrait être la réponse acceptée.
thias
Ce qui suit configure l'installation complète de développement de qt5 pour moi: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools Et puis vérifiez en utilisant: qtchooser -print-env
Salil
29

Vous pouvez vérifier le chemin vers qmake en utilisant which qmake.

Pensez à installer qt4-defaultou qt5-defaultdépend de la version de qt que vous souhaitez utiliser.

Vous pouvez également utiliser qtchooser - un wrapper utilisé pour sélectionner entre les versions binaires de développement Qt.

jtomaszk
la source
2
Salut @ Warthel4578, merci, votre réponse m'a aidé indirectement, depuis que j'ai installé qt4-qmake, j'aurais dû appeler «qt4-qmake» au lieu de «qmake» (je les ai trouvés tous les deux dans le chemin du répertoire). Maintenant ça marche :)
Curieux
Merci Warthel, cela m'a aidé à découvrir pourquoi mon qmake ne fonctionnait pas. qmake sur Ubuntu 14.04 a été lié symboliquement à qtchooser
Scone
Je suis arrivé à cette réponse SO, puis j'ai trouvé, basé sur l'erreur suivante ( no qtwebkit installation found) que j'ai également dû exécuter apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xcomme décrit sur la page wiki de Thoughtbot Github
sameers
15

Pour d'autres dans ma situation, la solution était:

qmake -qt=qt5

C'était sur Ubuntu 14.04 après l'installation de qt5-qmake. qmake était un lien symbolique vers qtchooser qui prend l'argument -qt.

Scone
la source
8

En tant que responsable de Debian Qt, permettez-moi de vous suggérer de ne pas utiliser qtx-default. Veuillez lire la page de manuel de qtchooser, la solution y est décrite. Si vous souhaitez créer une application, vous pouvez également consulter ce billet de blog que j'ai rédigé pour expliquer comment le faire.

lisandro
la source
5
Pouvez-vous expliquer pourquoi nous ne devrions pas utiliser qtx-default, s'il vous plaît? La page de manuel qtchooser m'aide à comprendre ce qui se passe, mais je ne vois pas pourquoi le fait d'avoir un paquet par défaut est un problème.
Robie Basak
2
Ce serait bien si qmake-qtX était regroupé sous la version qt appropriée. Tirer ces pièces est un peu fastidieux.
Xofo
@RobieBasak chose sûre: disons que vous installez qt5-default. Ensuite, vous exécutez une application qt4 qui appelle qdbus. Vous obtenez le qdbus de qt5, qui devrait fonctionner mais ce n'est pas garanti.
lisandro
1
C'est sûrement un bogue dans la façon dont l'application qt4 appelle qdbus ou dans l'environnement dans lequel l'application qt4 a été exécutée, plutôt que mon choix de vouloir qt5 par défaut depuis ma CLI?
Robie Basak
Première chose: peut-être que qdbus était un mauvais exemple. Disons qu'en amont a décidé de ne pas renommer les outils sous-jacents de Qt avec le changement de 4 à 5. Il n'est donc pas possible de savoir à l'avance quelle version l'application fonctionnera sauf que vous avez qtchooser au milieu. Mais qtchooser, même si c'est une belle tentative, échoue dans un certain nombre d'endroits, du moins dans le monde de la distribution. Idéalement, chaque application doit être rappelée après la version principale ou la compatibilité doit être conservée.
lisandro
8

J'ai eu ce problème lors de la construction de Ruby gem jasmine-headless-webkit. Malgré l'installation de qt4, qmake(un lien symbolique vers qtchooser) a insisté sur le fait qu'il ne connaissait pas l'installation de QT. OTOH, il a pu lister qt4 lorsqu'on lui a demandé directement.

Cela a tout amélioré:

export QT_SELECT=qt4

qtchooser savait alors utiliser qmake-qt4, et ainsi de suite.

Barry Kelly
la source
Parfait! J'ai eu le même problème en essayant d'installer qBittorrent, et le mien a été résolu avec export QT_QMAKE=/usr/bin. Ne savez jamais quand ces variables d'environnement reviendront pour vous mordre!
Alex Ryan
4

Recherchez où est qmake-qt4 :

which qmake-qt4

Par exemple, qmake-qt4 est dans ce chemin:

/usr/bin/qmake-qt4

Créer un lien symbolique:

cd /usr/local/sbin/
ln -s /usr/bin/qmake-qt4 .
mv qmake-qt4 qmake

Cordialement

Alvaro Gonzalez
la source
C'est une excellente solution lorsque vous voulez justeqmake et ne voulez pas un environnement qt complet.
Tom Saleeba
1

J'ai installé qt4. J'ai trouvé que l'utilisation du chemin suivant fonctionnait pour moi, malgré le retour de «which qmake» / usr / bin / qmake, qui n'est de toute façon qu'un lien vers qtchooser.

Le chemin suivant fonctionne pour moi, sur un système 64 bits. Courir à partir du chemin complet de:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake
Kristianp
la source
De toutes les réponses, c'est en fait la seule qui a fonctionné à distance. Sauf que j'avais besoin de l'utiliser /usr/lib/x86_64-linux-gnu/qt5/bin/qmake.
Akito le
0

Un lien symbolique vers la version souhaitée, définie globalement:

sudo ln -s /usr/bin/qmake-qt5 /usr/bin/qmake

... ou par utilisateur:

sudo ln -s /usr/bin/qmake-qt5 /home/USERNAME/.local/bin/qmake

... pour voir si cela fonctionne:

qmake --version
Martin Zeitler
la source
Que diriez-vous d'ajouter un commentaire, pourquoi cette réponse a été votée à la baisse? ne pas comprendre ou appliquer la solution ne constitue pas exactement une raison valable ... alors que je suis à peu près certain que cela fonctionne, parce que je la fais fonctionner comme ça.
Martin Zeitler
1
Lancez le vote positif à votre façon parce que je ne suis pas un apt-get tardif, et que je construis en fait à partir des sources, et cette réponse de lien symbolique était la clé pour me mettre sur la bonne voie parce que j'avais oublié que j'avais alias mon 'qmake'. Merci.
While-E
0

Pour mon Qt 5.7, ouvrez QtCreator, allez dans Outils -> Options -> Build & Run -> Les versions Qt m'ont donné l'emplacement de qmake.

mihota
la source
0

si l'assistant est exécuté directement depuis le terminal, il utilisera le chemin par défaut, généralement le fichier / usr / bin / assistant. J'ai eu une situation similaire, pour que cela fonctionne, tout ce que j'avais à faire est de trouver l'installation réelle de mon chemin d'installation de qt bin, comme xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /, tapez xxx / Qt5.13.2 /5.13.2/gcc_64/bin/assisstant directement depuis le terminal

jc_allen
la source