qmake: não foi possível encontrar uma instalação Qt de ''

136

Eu tenho um software no ubuntu que requer que eu execute o qmake para gerar o Makefile.

No entanto, a execução do qmake devolve esse erro,

qmake: could not find a Qt installation of ''

Instalei o que eu pensava ser os pacotes necessários usando,

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

Mas o erro não desapareceu.

Qualquer ajuda sobre isso seria apreciada com prazer!

Curioso
fonte
6
Tente correr sudo apt-get install qtcreator. Ele instala o Qt SDK + um IDE completo. Deve adicionar tudo o que você precisa.
Sashoalm
Olá @sashoalm, muito obrigado, parece que faltavam outros pacotes. Agora está funcionando: D
Curioso
6
Esta não é uma boa solução, pois instalará muitos pacotes potencialmente desnecessários.
Scone

Respostas:

177

sudo apt-get install qt5-default funciona para mim.

$ aptitude show qt5-default
diz que

Este pacote define o Qt 5 como a versão padrão do Qt a ser usada ao usar binários de desenvolvimento como o qmake. Ele fornece uma configuração padrão para o qtchooser, mas não impede que instalações alternativas do Qt sejam usadas.

ptmono
fonte
1
Você pode descrever sua solução mais?
user35443
3
a resposta aceita não é uma resposta. Essa deve ser a resposta aceita.
Thias # 13/14
A seguir, configuro a instalação completa do desenvolvimento do qt5 para mim: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools E depois verifique usando: qtchooser -print-env
Salil
29

Você pode verificar o caminho para qmake usando which qmake.

Considere instalar qt4-defaultou qt5-defaultdepende da versão do qt que você deseja usar.

Você também pode usar o qtchooser - um wrapper usado para selecionar entre as versões binárias de desenvolvimento do Qt.

jtomaszk
fonte
2
Oi @ Warthel4578, obrigado, sua resposta me ajudou indiretamente, desde que instalei o qt4-qmake, eu deveria ter chamado 'qt4-qmake' em vez de 'qmake' (eu encontrei os dois no caminho do diretório). Agora está funcionando :)
Curioso
Graças à Warthel, isso me ajudou a descobrir por que meu qmake não estava funcionando. qmake no Ubuntu 14.04 foi ligada simbolicamente a qtchooser
Scone
Eu tenho que esta resposta SO, em seguida, encontrou, com base no seguinte erro ( no qtwebkit installation found) que eu também tinha que correr apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xcomo descrito na Thoughtbot Github wiki página
Sameers
15

Para outros na minha situação, a solução foi:

qmake -qt=qt5

Este foi no Ubuntu 14.04 após a instalação do qt5-qmake. qmake era um link simbólico para o qtchooser, que recebe o argumento -qt.

Scone
fonte
8

Como mantenedor do Debian Qt, permita-me sugerir que você não use o qtx-default. Por favor, leia a página de manual do qtchooser, a solução é descrita lá. Se você está interessado em empacotar um aplicativo, também pode dar uma olhada nesta postagem do blog que expliquei como fazê-lo

lisandro
fonte
5
Você pode explicar por que não devemos usar o qtx-default, por favor? A página de manual do qtchooser me ajuda a entender o que está acontecendo, mas não vejo por que ter um pacote como padrão é um problema.
precisa saber é o seguinte
2
Seria bom se o qmake-qtX fosse incluído na versão qt relevante. Puxar essas peças é um pouco complicado.
Xofo 23/09/16
@ RobieBasak coisa certa: digamos que você instale o qt5-default. Então você executa um aplicativo qt4 que chama qdbus. Você obtém o qdbus do qt5, que deve funcionar, mas não é garantido.
lisandro 17/10
1
Certamente isso é um bug na maneira como o aplicativo qt4 chama o qdbus ou no ambiente em que o aplicativo qt4 foi executado, em vez da minha escolha de querer qt5 por padrão na minha CLI?
Robie Basak
Primeira coisa: talvez o qdbus tenha sido um mau exemplo. Digamos que o upstream decidiu não renomear as ferramentas subjacentes do Qt com a alteração de 4 a 5. Portanto, não é possível saber de antemão qual versão o aplicativo será executado, exceto se você tiver o qtchooser no meio. Mas o qtchooser, mesmo que seja uma boa tentativa, fica aquém em vários lugares, pelo menos no mundo da distribuição. Idealmente, cada aplicativo deve ser recuperado após a manutenção da versão principal ou da compatibilidade.
lisandro
8

Eu tive esse problema ao criar a jóia do jasmim-headless-webkit Ruby. Apesar de ter o qt4 instalado, qmake(um link simbólico para qtchooser) insistiu que não sabia sobre uma instalação do QT. OTOH, foi capaz de listar o qt4 quando solicitado diretamente.

Isso tornou tudo melhor:

export QT_SELECT=qt4

O qtchooser sabia usar o qmake-qt4 e assim por diante.

Barry Kelly
fonte
Perfeito! Eu tive o mesmo problema ao tentar instalar o qBittorrent, e o meu foi resolvido com export QT_QMAKE=/usr/bin. Nunca se sabe quando essas variáveis ​​de ambiente voltarão para te morder!
Alex Ryan4 de
4

Procure onde está qmake-qt4 :

which qmake-qt4

Por exemplo, qmake-qt4 está neste caminho:

/usr/bin/qmake-qt4

Crie um link simbólico:

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

Saudações

Alvaro Gonzalez
fonte
Esta é uma ótima solução quando você apenas quer qmakee não quer um ambiente qt completa.
Tom Saleeba
1

Eu tenho o qt4 instalado. Eu descobri que o uso do seguinte caminho funcionou para mim, apesar de 'what qmake' retornar / usr / bin / qmake, que é apenas um link para o qtchooser de qualquer maneira.

O caminho a seguir funciona para mim, em um sistema de 64 bits. Executando a partir do caminho completo de:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake
kristianp
fonte
De todas as respostas, essa é realmente a única que funcionou remotamente. Exceto que eu precisava usar /usr/lib/x86_64-linux-gnu/qt5/bin/qmake.
Akito
0

Um link simbólico para a versão desejada, definida globalmente:

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

... ou por usuário:

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

... para ver se funciona:

qmake --version
Martin Zeitler
fonte
que tal adicionar um comentário, por que esta resposta foi rejeitada? falhar em entender ou aplicar a solução não se qualifica exatamente como um motivo válido ... enquanto eu tenho certeza de que funciona, porque eu tenho que funcionar assim.
Martin Zeitler
1
Jogando com o voto positivo do seu jeito, porque eu não sou um retardado, e eu realmente construo a partir do código-fonte, e essa resposta simbólica foi o fim de me colocar no caminho certo, porque eu esqueci que eu tinha o apelido de 'qmake'. Obrigado.
Enquanto-E
0

Para o meu Qt 5.7, abra o QtCreator, vá em Ferramentas -> Opções -> Compilar e Executar -> Versões do Qt me deram a localização do qmake.

mihota
fonte
0

se o assistente for executado diretamente do terminal, ele usará o caminho padrão, geralmente é o / usr / bin / assistant. Eu tive uma situação semelhante, para fazê-lo funcionar, tudo o que eu precisava fazer era encontrar a instalação real do caminho do compartimento de instalação do qt, como xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /, digite xxx / Qt5.13.2 /5.13.2/gcc_64/bin/assisstant diretamente do terminal

jc_allen
fonte