qmake: no se pudo encontrar una instalación Qt de ''

136

Tengo un software en ubuntu que requiere que ejecute qmake para generar el Makefile.

Sin embargo, ejecutar qmake devuelve este error,

qmake: could not find a Qt installation of ''

He instalado lo que pensé que eran los paquetes requeridos usando,

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

Pero el error no desapareció.

¡Cualquier ayuda en esto sería gratamente apreciada!

Curioso
fuente
66
Intenta correr sudo apt-get install qtcreator. Instala el Qt SDK + un IDE completo. Debería agregar todo lo que necesita.
sashoalm
Hola @sashoalm, muchas gracias, parece que me faltaron otros paquetes. Ahora está funcionando: D
Curioso
66
Esta no es una buena solución, ya que instalará muchos paquetes potencialmente innecesarios.
Scone

Respuestas:

177

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

$ aptitude show qt5-default
dice que

Este paquete establece que Qt 5 sea la versión predeterminada de Qt que se utilizará al usar binarios de desarrollo como qmake. Proporciona una configuración predeterminada para qtchooser, pero no impide el uso de instalaciones Qt alternativas.

ptmono
fuente
1
¿Puede por favor describir más su solución?
user35443
3
la respuesta aceptada no es una respuesta en absoluto. Esta debería ser la respuesta aceptada.
Thias
Siguiente configura la instalación completa de desarrollo de qt5 para mí: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools Y luego verifique usando: qtchooser -print-env
Salil
29

Puede verificar la ruta a qmake usando which qmake.

Considera instalar qt4-defaulto qt5-defaultdepende de la versión de qt que quieras usar.

También podría usar qtchooser , un contenedor utilizado para seleccionar entre versiones binarias de desarrollo Qt.

jtomaszk
fuente
2
Hola @ Warthel4578, gracias, tu respuesta me ayudó indirectamente, ya que instalé qt4-qmake, debería haber invocado 'qt4-qmake' en lugar de 'qmake' (los encontré a ambos en la ruta del directorio). Ahora está funcionando :)
Curioso
Gracias Warthel, esto me ayudó a descubrir por qué mi qmake no estaba funcionando. qmake en Ubuntu 14.04 se vinculó a qtchooser
Scone
Llegué a esta respuesta SO, y luego encontré, en base al siguiente error ( no qtwebkit installation found) que también tuve que ejecutar apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xcomo se describe en la página wiki de Thoughtbot Github
sameers
15

Para otros en mi situación, la solución fue:

qmake -qt=qt5

Esto fue en Ubuntu 14.04 después de instalar qt5-qmake. qmake era un enlace simbólico a qtchooser que toma el argumento -qt.

Bollo
fuente
8

Como mantenedor de Debian Qt, permítame sugerirle que no use qtx-default. Lea la página de manual de qtchooser, la solución se describe allí. Si está interesado en empaquetar una aplicación, también puede echar un vistazo a esta publicación de blog que hice explicando cómo hacerlo

lisandro
fuente
55
¿Puede explicar por qué no deberíamos usar qtx-default, por favor? La página de manual de qtchooser me ayuda a comprender lo que está sucediendo, pero no veo por qué tener un paquete que proporciona un valor predeterminado es un problema.
Robie Basak
2
Sería bueno si qmake-qtX se incluyera bajo la versión qt relevante. Tirar de estas piezas es un poco engorroso.
Xofo
@RobieBasak algo seguro: supongamos que instala qt5-default. Luego ejecuta una aplicación qt4 que llama a qdbus. Obtiene el qdbus de qt5, que debería funcionar, pero no está garantizado hacerlo.
Lisandro
1
Seguramente es un error en cómo la aplicación qt4 llama a qdbus o en el entorno en el que se ejecutó la aplicación qt4, en lugar de mi elección de querer qt5 de forma predeterminada desde mi CLI.
Robie Basak
Lo primero: quizás qdbus fue un mal ejemplo. Digamos que upstream decidió no cambiar el nombre de las herramientas subyacentes de Qt con el cambio de 4 a 5. Por lo tanto, no es posible saber de antemano qué versión se ejecutará la aplicación, excepto que tenga qtchooser en el medio. Pero qtchooser, incluso si es un buen intento, se queda corto en varios lugares, al menos en el mundo de la distribución. Idealmente, cada aplicación debería recuperarse después de la versión principal o la compatibilidad debería conservarse.
Lisandro
8

Tuve este problema construyendo gemas de jazmín-headless-webkit Ruby. A pesar de tener qt4 instalado, qmake(un enlace simbólico a qtchooser) insistió en que no sabía acerca de una instalación QT. OTOH, pudo enumerar qt4 cuando se le preguntó directamente.

Esto hizo todo mejor:

export QT_SELECT=qt4

qtchooser luego supo usar qmake-qt4, y así sucesivamente.

Barry Kelly
fuente
¡Perfecto! Tuve el mismo problema al intentar instalar qBittorrent, y el mío se resolvió con export QT_QMAKE=/usr/bin. ¡Nunca se sabe cuándo esas variables de entorno volverán a morderte!
Alex Ryan
4

Busque donde está qmake-qt4 :

which qmake-qt4

Por ejemplo, qmake-qt4 está en esta ruta:

/usr/bin/qmake-qt4

Crear enlace simbólico:

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

Saludos

Alvaro Gonzalez
fuente
Esta es una gran solución cuando solo quieres qmakey no quieres un entorno qt completo.
Tom Saleeba
1

Tengo qt4 instalado. Encontré que usar la siguiente ruta funcionó para mí, a pesar de que 'qmake' devuelve / usr / bin / qmake, que de todos modos es solo un enlace a qtchooser.

La siguiente ruta funciona para mí, en un sistema de 64 bits. Ejecutando desde la ruta completa de:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake
kristianp
fuente
De todas las respuestas, esta es en realidad la única que funcionó de forma remota. Excepto que necesitaba usar /usr/lib/x86_64-linux-gnu/qt5/bin/qmake.
Akito
0

Un enlace simbólico a la versión deseada, definida globalmente:

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

... o por usuario:

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

... para ver si funciona:

qmake --version
Martin Zeitler
fuente
¿qué tal si agregamos un comentario, por qué esta respuesta fue rechazada? no entender o aplicar la solución no califica exactamente como una razón válida ... aunque estoy bastante seguro de que funciona, porque lo tengo funcionando así.
Martin Zeitler
1
Lanzando el voto hacia arriba porque no soy apto para llegar tarde, y en realidad construyo desde la fuente, y esta respuesta de enlace simbólico fue el cierre para ponerme en camino porque olvidé que había alias mi 'qmake'. Gracias.
While-E
0

Para mi Qt 5.7, abra QtCreator, vaya a Herramientas -> Opciones -> Compilar y ejecutar -> Las versiones de Qt me dieron la ubicación de qmake.

mihota
fuente
0

si el asistente se ejecuta directamente desde la terminal, usará la ruta predeterminada, generalmente es / usr / bin / assistant. Tuve una situación similar, para que funcione, todo lo que tuve que hacer es encontrar la instalación real de mi ruta de ubicación de instalación qt, como xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /, escriba xxx / Qt5.13.2 /5.13.2/gcc_64/bin/assisstant directamente desde la terminal

jc_allen
fuente