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 Projectspestañ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 QTDIRvariable ambiental se utiliza para configurar la versión Qt. De manera predeterminada, QtCreator establece esto /usr/share/qt4para 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 .proarchivo, pero si es así no está documentado (como ocurre con muchas qmakevariables).
Además, si desea compilar con una versión principal específica, qmakegeneralmente solo se vincula a un binario para la versión principal predeterminada. Los binarios reales son qmake-qt4, qmake-qt5etc. También vea man qtchoosery los qtX-defaultpaquetes en sistemas basados en Debian.
Actualizar
Hay un error qtchooseren 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=qt5interruptor oQT_SELECT=qt5la 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.confarchivo, 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.confal 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.confy cambie esta línea:Donde cambias
qt5a la versión que quieras. Puede usar el comandoqtchooser -list-versionspara 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.conftiene 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,qmakepor ejemplo, mi sistema (Ubuntu 17.10 x64, Qt 5.10.1).Crea el
/etc/xdg/qtchooserdirectorio: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
qmakedebería usar la versión Qt especificada.fuente
Si lo desea
qt5, para suqt4uso:fuente
En (mi) configuración predeterminada en Fedora 23 con ambos
qt-3.3.8yqt-4.8.5entornos, también era necesario agregar/usr/libxx/qt4/bin/temporalmente el directorio alPATHpara permitir que los paquetescmake/qmakeencuentren 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