Esto no es necesariamente específico de Unix / Linux, por lo que probablemente sea mejor preguntar esto en Stack Overflow. Sin embargo, QtCreator suele ser bastante bueno para detectar instalaciones Qt alternativas, solo cree un nuevo proyecto y mire debajo de la Projects
pestaña a la izquierda. Puede establecer diferentes configuraciones de compilación allí. Debe haber un cuadro desplegable para seleccionar entre las diversas versiones instaladas para cada configuración.
De lo contrario, parece que la QTDIR
variable ambiental se utiliza para configurar la versión Qt. De manera predeterminada, QtCreator establece esto /usr/share/qt4
para mí, por lo que establecerlo en la ruta equivalente (es decir, en la que están los archivos de configuración) debería hacer que qmake se compile con una versión diferente. Podrías probar con algo como:
QTDIR=/usr/share/qtX qmake --version
También es posible configurar esto en el .pro
archivo, pero si es así no está documentado (como ocurre con muchas qmake
variables).
Además, si desea compilar con una versión principal específica, qmake
generalmente solo se vincula a un binario para la versión principal predeterminada. Los binarios reales son qmake-qt4
, qmake-qt5
etc. También vea man qtchooser
y los qtX-default
paquetes en sistemas basados en Debian.
Actualizar
Hay un error qtchooser
en Ubuntu 13.04 y 13.10 que parece afectar la forma en que las aplicaciones Qt detectan diferentes versiones de Qt, consulte https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1177823 . Esto también puede afectar a QtCreator.
Me ayudó a usar el
-qt=qt5
interruptor oQT_SELECT=qt5
la variable de entorno.fuente
Hay un mejor método .
Si desea que sus cambios sean permanentes, debe modificar el
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
archivo, que es un enlace simbólico../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
.Aquí hay un ejemplo para mi sistema (Ubuntu 17.10 x64, Qt 5.10.1). Sugeriría mantener tanto el archivo de enlace simbólico original como su destino (en caso de que desee recuperar la configuración original). Y también cree los nuevos archivos en las ubicaciones predeterminadas (por coherencia). Así que aquí están los pasos:
Cambie el nombre del archivo de enlace simbólico:
Cree un nuevo archivo de configuración de destino (con cualquier nombre):
Este archivo debe contener dos líneas: la primera línea es la ruta a los binarios Qt (incluido qmake) y la segunda es la ruta a las bibliotecas Qt (incluidos los archivos .so). En mi caso es
Guárdalo y ciérralo. Cree un enlace simbólico
default.conf
al nuevo archivo de configuración:Verifique su versión Qt:
Ahora siempre debe usar la versión especificada.
fuente
Bajo algunas distribuciones como Debian Jessie Stable puedes hacer lo siguiente:
Y solo seleccione la versión que necesita si necesita cambiar nuevamente, simplemente ejecute nuevamente la tercera línea.
fuente
Muchas de las respuestas anteriores funcionarán. Sin embargo, personalmente he descubierto que ninguno de ellos es persistente. Por ejemplo, puedo ejecutar este comando:
Pero si abro un nuevo terminal y verifico la versión de Qt, volverá a la predeterminada, y si tiene varias versiones de Qt instaladas, la predeterminada puede no ser la que desea. Puedes saber ejecutando este comando:
La única forma de hacer que sus cambios se mantengan es cambiar la versión predeterminada. Para hacer esto, edite
/usr/lib/x86_64-linux-gnu/qtchooser/default.conf
y cambie esta línea:Donde cambias
qt5
a la versión que quieras. Puede usar el comandoqtchooser -list-versions
para ver qué versiones están instaladas en su máquina.fuente
qmake
(/usr/bin/qmake
) en realidad es solo un enlace simbólico aqtchooser
(/usr/bin/qtchooser
).Aquí hay una cita de
man qtchooser
:El archivo
/etc/xdg/qtchooser/default.conf
tiene mayor prioridad que/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
. Estos son los pasos de cómo elegir la versión Qt predeterminada para,qmake
por ejemplo, mi sistema (Ubuntu 17.10 x64, Qt 5.10.1).Crea el
/etc/xdg/qtchooser
directorio:Cree y edite el archivo de configuración:
Como se dijo anteriormente. este archivo debe contener dos líneas: la primera línea es la ruta a los binarios Qt (incluido qmake) y la segunda es la ruta a las bibliotecas Qt (incluidos los archivos .so). En mi caso será:
Guárdalo y ciérralo. Ahora
qmake
debería usar la versión Qt especificada.fuente
Si lo desea
qt5
, para suqt4
uso:fuente
En (mi) configuración predeterminada en Fedora 23 con ambos
qt-3.3.8
yqt-4.8.5
entornos, también era necesario agregar/usr/libxx/qt4/bin/
temporalmente el directorio alPATH
para permitir que los paquetescmake
/qmake
encuentren la versión correcta. Esto era necesario al compilar el código, no al ejecutar la aplicación QT4 finalizada.Por alguna razón, la ruta QT3 ya estaba instalada allí de forma permanente y desafortunadamente al comienzo de la
PATH
, lo que impidió que el selector de versiones QT funcionara correctamente.fuente