qmake: konnte keine Qt-Installation von '' finden


136

Ich habe eine Software in Ubuntu, bei der ich qmake ausführen muss, um das Makefile zu generieren.

Das Ausführen von qmake gibt jedoch diesen Fehler zurück.

qmake: could not find a Qt installation of ''

Ich habe das installiert, was ich für die erforderlichen Pakete hielt.

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

Aber der Fehler ging nicht weg.

Jede Hilfe hierzu wäre gerne dankbar!


6
Versuche zu rennen sudo apt-get install qtcreator. Es installiert das vollständige Qt SDK + eine IDE. Es sollte alles hinzufügen, was Sie brauchen.
Sashoalm

Hallo @sashoalm, vielen Dank, anscheinend fehlten mir andere Pakete. Jetzt funktioniert es: D
Neugierig

6
Dies ist keine gute Lösung, da dadurch viele möglicherweise nicht benötigte Pakete installiert werden.
Scone

Antworten:


177

sudo apt-get install qt5-default funktioniert bei mir.

$ aptitude show qt5-default
sagt das

Dieses Paket legt fest, dass Qt 5 die Standard-Qt-Version ist, die bei Verwendung von Entwicklungsbinärdateien wie qmake verwendet wird. Es bietet eine Standardkonfiguration für qtchooser, verhindert jedoch nicht die Verwendung alternativer Qt-Installationen.


1
Können Sie bitte Ihre Lösung genauer beschreiben?
user35443

3
Die akzeptierte Antwort ist überhaupt keine Antwort. Dies sollte die akzeptierte Antwort sein.
Thias

Im Folgenden wird die vollständige qt5-Entwicklungsinstallation für mich eingerichtet: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools Und überprüfen Sie dann Folgendes: qtchooser -print-env
Salil

29

Sie können den Pfad zu qmake mit überprüfen which qmake.

Erwägen Sie die Installation qt4-defaultoder qt5-defaulthängt davon ab, welche Version von qt Sie verwenden möchten.

Sie können auch qtchooser verwenden - einen Wrapper, mit dem Sie zwischen binären Versionen der Qt-Entwicklung auswählen können.


2
Hallo @ Warthel4578, danke, Ihre Antwort hat mir indirekt geholfen, da ich qt4-qmake installiert habe, hätte ich 'qt4-qmake' anstelle von 'qmake' aufrufen sollen (ich habe beide im Verzeichnispfad gefunden). Jetzt funktioniert es :)
Neugierig

Danke Warthel, das hat mir geholfen herauszufinden, warum mein qmake nicht funktioniert hat. qmake unter Ubuntu 14.04 wurde mit qtchooser
Scone

Ich kam zu dieser SO-Antwort und fand dann basierend auf dem nächsten Fehler ( no qtwebkit installation found), den ich auch ausführen musste, apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xwie auf der Thoughtbot Github-Wiki-Seite beschrieben
Sameers

15

Für andere in meiner Situation war die Lösung:

qmake -qt=qt5

Dies war unter Ubuntu 14.04 nach der Installation von qt5-qmake. qmake war ein Symlink zu qtchooser, der das Argument -qt verwendet.


8

Gestatten Sie mir als Betreuer von Debian Qt, Ihnen vorzuschlagen, qtx-default nicht zu verwenden. Bitte lesen Sie die Manpage von qtchooser, die Lösung wird dort beschrieben. Wenn Sie daran interessiert sind, eine App zu verpacken, können Sie sich auch diesen Blog-Beitrag ansehen, in dem ich erklärt habe, wie es geht


5
Können Sie bitte erklären, warum wir qtx-default nicht verwenden sollten? Die qtchooser-Manpage hilft mir zu verstehen, was los ist, aber ich verstehe nicht, warum es ein Problem ist, wenn ein Paket standardmäßig bereitgestellt wird.
Robie Basak

2
Es wäre schön, wenn qmake-qtX unter der entsprechenden qt-Version gebündelt wäre. Das Einziehen dieser Teile ist etwas umständlich.
Xofo

@RobieBasak sicher: Nehmen wir an, Sie installieren qt5-default. Anschließend führen Sie eine qt4-Anwendung aus, die qdbus aufruft. Sie erhalten den qdbus von qt5, der funktionieren sollte, aber nicht garantiert ist.
Lisandro

1
Sicherlich ist das ein Fehler in der Art und Weise, wie die qt4-Anwendung qdbus aufruft, oder in der Umgebung, in der die qt4-Anwendung ausgeführt wurde, und nicht in meiner Entscheidung, qt5 standardmäßig von meiner CLI aus zu verwenden.
Robie Basak

Das erste: Vielleicht war qdbus ein schlechtes Beispiel. Angenommen, Upstream hat beschlossen, die zugrunde liegenden Tools von Qt mit der Änderung von 4 auf 5 nicht umzubenennen. Es ist also nicht möglich, vorher zu wissen, welche Version die App ausführen wird, außer Sie haben qtchooser in der Mitte. Aber qtchooser, auch wenn es ein netter Versuch ist, bleibt an einigen Stellen zu kurz, zumindest in der Distributionswelt. Im Idealfall sollte jede App entweder nach der Hauptversion zurückgerufen oder die Kompatibilität beibehalten werden.
Lisandro

8

Ich hatte dieses Problem beim Aufbau eines Ruby-Edelsteins mit Jasmin-Headless-Webkit. Trotz der Installation von qt4 bestand qmake(ein Symlink zu qtchooser) darauf, dass es nichts über eine QT-Installation wusste. OTOH, es war in der Lage, qt4 aufzulisten, wenn es direkt gefragt wurde.

Das hat alles besser gemacht:

export QT_SELECT=qt4

qtchooser wusste dann, qmake-qt4 zu verwenden und so weiter.


Perfekt! Ich hatte das gleiche Problem beim Versuch, qBittorrent zu installieren, und mein Problem wurde mit gelöst export QT_QMAKE=/usr/bin. Weiß nie, wann diese Umgebungsvariablen zurückkommen, um dich zu beißen!
Alex Ryan

4

Suche wo ist qmake-qt4 :

which qmake-qt4

Zum Beispiel befindet sich qmake-qt4 auf diesem Pfad:

/usr/bin/qmake-qt4

Symbolische Verknüpfung erstellen:

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

Grüße


Dies ist eine großartige Lösung, wenn Sie nurqmake eine vollständige qt-Umgebung wünschen und nicht möchten.
Tom Saleeba

1

Ich habe qt4 installiert. Ich fand, dass die Verwendung des folgenden Pfades für mich funktioniert, obwohl 'which qmake' / usr / bin / qmake zurückgibt, was ohnehin nur ein Link zu qtchooser ist.

Der folgende Pfad funktioniert für mich auf einem 64-Bit-System. Laufen aus dem vollen Pfad von:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake

Von allen Antworten ist dies tatsächlich die einzige, die aus der Ferne funktioniert hat. Außer ich musste verwenden /usr/lib/x86_64-linux-gnu/qt5/bin/qmake.
Akito

0

Ein symbolischer Link zur gewünschten Version, global definiert:

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

... oder pro Benutzer:

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

... um zu sehen, ob es funktioniert:

qmake --version

Wie wäre es mit einem Kommentar, warum diese Antwort abgelehnt wurde? Wenn ich die Lösung nicht verstehe oder nicht anwende, ist dies kein gültiger Grund ... obwohl ich mir ziemlich sicher bin, dass sie funktioniert, weil sie einfach so funktioniert.
Martin Zeitler

1
Wirf das Upvote auf deinen Weg, weil ich kein Apt-Get-Tard bin und tatsächlich aus dem Quellcode baue. Diese Symlink-Antwort war der Abschluss, um mich auf den richtigen Weg zu bringen, weil ich vergessen habe, dass ich mein 'qmake' aliasiert habe. Vielen Dank.
While-E

0

Öffnen Sie für mein Qt 5.7 QtCreator und gehen Sie zu Extras -> Optionen -> Erstellen und Ausführen -> Qt-Versionen haben mir den Speicherort von qmake angegeben.


0

Wenn der Assistent direkt vom Terminal ausgeführt wird, wird der Standardpfad verwendet, normalerweise der / usr / bin / Assistent. Ich hatte eine ähnliche Situation, damit es funktioniert, musste ich nur die tatsächliche Installation meines qt-Installationsfachpfads finden, z. B. xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /, Typ xxx / Qt5.13.2 /5.13.2/gcc_64/bin/assisstant direkt vom Terminal

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.