martes, 27 de diciembre de 2016

Instalar Qt en Linux

Instalar Qt en Linux no tiene por qué ser un problema, pero en determinadas distros es necesario realizar algunos pasos adicionales a la instalación convencional.

La última versión oficial de Qt nos la podemos descargar de su página: https://www.qt.io/download/.

Debemos tener en cuenta que SDKs antiguos no aparecerán en el selector de componentes. Si deseamos instalar por ejemplo el SDK 5.9-6 deberemos seguir los siguientes pasos:
  • Nos descargamos el instalador desde aquí: https://download.qt.io/official_releases/qt/5.9/5.9.6/
  • Lo instalamos en la carpeta Qt en lugar de la Qt5.9.6 eligiendo el compilador deseado y componentes opcionales
  • Una vez instalado abrimos el Qt Maintenance tool desde ~/Qt y configuramos el repositorio. para ello:
    • Pulsamos en Configuración
    • Pestaña Repositorios
    • Añadir repositorio definido por usuario
    • En la columna Repositorio ponemos https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/tools_maintenance/
    • Probamos que funcione
  • Seleccionamos Update components y reiniciamos el Maintenance Tool
  • Volvemos a realizar el Update e instalamos lo nuevo
  • A partir de ese momento podremos instalar otros SDKs

Una vez ejecutado el instalador y seleccionado los componentes que deseamos, nos podemos encontrar alguna sorpresa al intentar compilar y ejecutar algún proyecto.

Dos de los fallos típicos que nos pueden aparecer son:
  • Qt Creator needs a compiler set up to build
  • Cannot find -IGL
Ambos nos aparecerán en la pestaña de Issues aunque en Compile output podremos encontrar más detalles.

Otro problema con el que podemos toparnos ocurre si previamente teníamos instalada otra versión de Qt. En este caso, aunque hubiéramos desinstalado la anterior, podemos encontrarnos que el path por defecto apunte todavía a la anterior versión.



Qt Creator needs a compiler set up to build

Este error nos indica que Qt no puede compilar el proyecto porque no tenemos configurado ningún compilador.

Si nos vamos a la ventana Compile Output veremos un mensaje similar a este:

     10:59:43: Configuration is faulty. Check the Issues view for details.
     Error while building/deploying project XXXXXX (kit: Desktop Qt 5.7.1 GCC 64bit)
     When executing step "Make"

Mientras que en la pestaña Issues veremos algo así:

     Error: Qt Creator needs a compiler set up to build. Configure a compiler in the kit options.

Si nos vamos al menú de opciones, en Build & Run, en la pestaña Kits veremos la configuración para los compiladores:


Como puede apreciarse en la imagen , está configurado el compilador de C pero no el de C++!!!!

Solucionar el problema es tan sencillo como instalar el compilador que nos falta. Para ello, abriremos un terminal y teclearemos:

sudo apt-get install g++ 

Si cerramos Qt y lo volvemos a abrir veremos ahora sí que detecta el compilador y se configura automáticamente por lo que ya podremos compilar nuestro proyecto.


Cannot find -IGL

Este segundo problema también es muy típico después de instalar Qt por primera vez. El problema es debido a que nos faltan las librerías IGL.
Nuevamente tendremos que abrir un terminal e instalar lo que nos falta para que funcione:

sudo apt-get install libgl1-mesa-dev 
Después de esto, ya podremos ejecutar nuestra aplicación.
Si no fuera así, podemos probar a instalar lo siguiente:


sudo apt-get install libglu1-mesa-dev

Actualizar el path

Para conocer el path que utiliza Qt por defecto simplemente debemos abrir un terminal y teclear:

qtchooser -print-env
Nos podemos encontrar con algo como esto:
QT_SELECT="default"
QTTOOLDIR="/usr/lib/x86_64-linux-gnu/qt4/bin"
QTLIBDIR="/usr/lib/x86_64-linux-gnu"
El problema es que QTTOOLDIR está apuntando a una carpeta que no es el path de la versión que tengo instalada.
Así por ejemplo, si intentamos ejecutar el comando lupdate -para traducciones-, nos dará el siguiente error:
lupdate: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/lupdate': No such file or directory
Ya que en el path por defecto no está el archivo lupdate.
Debemos por tanto, actualizar dicho path y para ello deberemos modificar el archivo default.conf que se encuentra en la siguiente carpeta:
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
Dentro veremos las dos siguientes líneas:
/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu
Ahora deberemos añadir en primera posición el path de nuestra versión de Qt. En mi caso: /home/imahgin/Qt/5.7/gcc_64/bin/
Guardamos y a partir de ese momento, habremos indicado el path correctamente.

Soporte para lzip

Si el proyecto usa la librería zlib debemos tenerla instalada en nuestro equipo. Para ello:
sudo apt install zliblg-dev


Fallo en plugin "xcb"

Al compilar con SDK 5.9.6  

Comentarios
1 comentarios
Para Comentar Elige el Sistema de Comentario de tu Agrado:
Comentarios Comentarios Comentarios