qmake: impossibile trovare un'installazione Qt di ''


136

Ho un software in Ubuntu che mi richiede di eseguire qmake per generare il Makefile.

Tuttavia, l'esecuzione di qmake restituisce questo errore,

qmake: could not find a Qt installation of ''

Ho installato quelli che pensavo fossero i pacchetti richiesti usando,

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

Ma l'errore non è andato via.

Qualsiasi aiuto su questo sarebbe gradito!


6
Prova a correre sudo apt-get install qtcreator. Installa l'SDK Qt completo + un IDE. Dovrebbe aggiungere tutto il necessario.
sashoalm,

Ciao @sashoalm, grazie mille, sembra che mi mancassero altri pacchetti. Ora funziona: D
Curioso

6
Questa non è una buona soluzione in quanto installerà molti pacchetti potenzialmente non necessari.
Scone

Risposte:


177

sudo apt-get install qt5-default per me va bene.

$ aptitude show qt5-default
dice questo

Questo pacchetto imposta Qt 5 come versione Qt predefinita da utilizzare quando si utilizzano binari di sviluppo come qmake. Fornisce una configurazione predefinita per qtchooser, ma non impedisce l'utilizzo di installazioni Qt alternative.


1
Puoi per favore descrivere di più la tua soluzione?
user35443,

3
la risposta accettata non è affatto una risposta. Questa dovrebbe essere la risposta accettata.
thias,

Di seguito imposta la completa installazione di sviluppo qt5 per me: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools E poi controlla usando: qtchooser -print-env
Salil

29

È possibile controllare il percorso per qmake utilizzando which qmake.

Prendi in considerazione l'installazione qt4-defaulto qt5-defaultdipende dalla versione di qt che desideri utilizzare.

È inoltre possibile utilizzare qtchooser , un wrapper utilizzato per selezionare tra le versioni binarie di sviluppo Qt.


2
Ciao @ Warthel4578, grazie, la tua risposta mi ha aiutato indirettamente, da quando ho installato qt4-qmake, avrei dovuto invocare 'qt4-qmake' invece di 'qmake' (ho trovato entrambi nel percorso della directory). Ora funziona :)
Curioso

Grazie Warthel questo mi ha aiutato a scoprire perché il mio qmake non funzionava. qmake su Ubuntu 14.04 era collegato a qtchooser
Scone il

Sono arrivato a questa risposta SO, quindi ho trovato, in base al prossimo errore ( no qtwebkit installation found) che dovevo anche eseguire apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xcome descritto nella pagina wiki
Thoughtbot

15

Per gli altri nella mia situazione, la soluzione era:

qmake -qt=qt5

Questo era su Ubuntu 14.04 dopo l'installazione qt5-qmake. qmake era un collegamento simbolico a qtchooser che accetta l'argomento -qt.


8

Come manutentore di Debian Qt, mi permetta di suggerire di non usare qtx-default. Si prega di leggere la pagina man di qtchooser, la soluzione è descritta lì. Se sei interessato a creare un pacchetto di un'app, puoi anche dare un'occhiata a questo post sul blog che ho fatto spiegando come farlo


5
Puoi spiegare perché non dovremmo usare qtx-default, per favore? La manpage qtchooser mi aiuta a capire cosa sta succedendo, ma non vedo perché avere un pacchetto che fornisce un valore predefinito sia un problema.
Robie Basak,

2
Sarebbe bello se qmake-qtX fosse raggruppato nella relativa versione di qt. Tirare dentro questi pezzi è un po 'ingombrante.
Xofo,

@RobieBasak cosa certa: diciamo che si installa qt5-default. Quindi esegui un'applicazione qt4 che chiama qdbus. Ottieni qdbus di qt5, che dovrebbe funzionare ma non è garantito farlo.
lisandro,

1
Sicuramente questo è un bug nel modo in cui l'applicazione qt4 chiama qdbus o nell'ambiente in cui è stata eseguita l'applicazione qt4, piuttosto che la mia scelta di voler qt5 per impostazione predefinita dalla mia CLI?
Robie Basak,

Prima cosa: forse qdbus è stato un cattivo esempio. Supponiamo che upstream abbia deciso di non rinominare gli strumenti sottostanti di Qt con la modifica da 4 a 5. Quindi non è possibile sapere in anticipo quale versione verrà eseguita l'app se non hai qtchooser nel mezzo. Ma qtchooser, anche se è un bel tentativo, non riesce in molti punti, almeno nel mondo della distribuzione. Idealmente, ogni app dovrebbe essere richiamata dopo la versione principale o conservata la compatibilità.
lisandro,

8

Ho avuto questo problema con la creazione di gemme Ruby jasmine-headless-webkit. Nonostante abbia installato qt4, qmake(un link simbolico a qtchooser) ha insistito sul fatto che non sapeva di un'installazione QT. OTOH, è stato in grado di elencare qt4 quando richiesto direttamente.

Questo ha reso tutto migliore:

export QT_SELECT=qt4

qtchooser allora sapeva di usare qmake-qt4 e così via.


Perfetto! Ho avuto lo stesso problema durante il tentativo di installare qBittorrent e il mio è stato risolto export QT_QMAKE=/usr/bin. Non so mai quando queste variabili di ambiente torneranno a morderti!
Alex Ryan,

4

Cerca dove si trova qmake-qt4 :

which qmake-qt4

Ad esempio qmake-qt4 si trova in questo percorso:

/usr/bin/qmake-qt4

Crea link simbolico:

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

Saluti


Questa è una grande soluzione quando si appena vuole qmakee non si desidera un ambiente pieno qt.
Tom Saleeba,

1

Ho installato qt4. Ho scoperto che usare il seguente percorso ha funzionato per me, nonostante 'quale qmake' restituisce / usr / bin / qmake, che comunque è solo un collegamento a qtchooser.

Il seguente percorso funziona per me, su un sistema a 64 bit. In esecuzione dal percorso completo di:

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

Di tutte le risposte in realtà questa è l'unica che ha funzionato da remoto. Tranne che dovevo usare /usr/lib/x86_64-linux-gnu/qt5/bin/qmake.
Akito

0

Un collegamento simbolico alla versione desiderata, definita a livello globale:

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

... o per utente:

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

... per vedere se funziona:

qmake --version

che ne dici di aggiungere un commento, perché questa risposta è stata sotto votata? non riuscire a capire o applicare la soluzione non si qualifica esattamente come una ragione valida ... mentre sono abbastanza certo che funzioni, perché ho funzionato proprio così.
Martin Zeitler,

1
Gettare il tuo voto a modo tuo perché non sono un apt-get tard, e in realtà costruisco dal sorgente, e questa risposta di collegamento simbolico è stata la conclusione per farmi in pista perché mi ero dimenticato di aver aliasato il mio 'qmake'. Grazie.
While-E

0

Per il mio Qt 5.7, apri QtCreator, vai su Strumenti -> Opzioni -> Crea ed esegui -> Versioni Qt mi ha dato la posizione di qmake.


0

se l'assistente viene eseguito direttamente dal terminale, utilizzerà il percorso predefinito, di solito è / usr / bin / assistant. Ho avuto una situazione simile, per farlo funzionare, tutto quello che dovevo fare è trovare l'installazione effettiva del mio percorso bin di installazione qt, come xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /, digitare xxx / Qt5.13.2 /5.13.2/gcc_64/bin/assisstant direttamente dal terminale

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.