Как я изменяюсь, какая версия QT используется для qmake?

Выполненный quota
Если существуют активные квоты, можно работать quotaoff -a отключить всю квоту для текущей сессии. К permanetly отключают редактирование квоты/etc/fstab

31
22.02.2014, 02:50
8 ответов
Это не обязательно Unix/Linux, так что лучше спросить об этом в Stack Overflow. Тем не менее, QtCreator обычно довольно хорош в обнаружении альтернативных установок Qt, просто создайте новый проект и посмотрите на вкладку [11903]Projects[11904] слева. Там вы можете установить различные конфигурации сборки. Должно быть выпадающее окно для выбора из различных установленных версий для каждой конфигурации.[12218]В противном случае, кажется, что для установки версии Qt используется переменная окружения [11905]QTDIR[11906]. По умолчанию QtCreator устанавливает это в [11907]/usr/share/qt4[11908] для меня, поэтому установка его в эквивалентный путь (т.е. тот путь, по которому находятся конфигурационные файлы) должна сделать qmake сборку с другой версией. Вы можете протестировать что-нибудь вроде:[12219]Также возможно установить это в файле [11909].pro[11910], но если это так, то это недокументировано (как и в случае с большим количеством переменных [11911]qmake[11912]).[12220]Также, если вы хотите собрать с определенной мажорной версией, [11913]qmake[11914] обычно просто symlinked к двоичному файлу для мажорной версии по умолчанию. Реальными бинарными файлами являются [11915]qmake-qt4[11916], [11917]qmake-qt5[11918] и др. Также смотрите [11919]man qtchooser[11920] и пакеты [11921]qtX-default[11922] на системах, основанных на Debian.[12221]Обновление[12222]В Ubuntu 13.04 и 13.10 есть ошибка с [11923]qtchooser[11924], которая, кажется, влияет на то, как приложения Qt обнаруживают различные версии Qt, смотрите [11925]https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1177823[11926]. Это также может повлиять на QtCreator.

.

16
27.01.2020, 19:38

Мне помогло использование -qt=qt5 переключателя или QT_SELECT=qt5 переменной окружения.

$ qmake --version
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu

$ qmake -qt=qt5 --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
13
27.01.2020, 19:38

В (моей) настройке по умолчанию в Fedora 23 есть как qt-3.3.8 , так и qt-4.8.5 , также необходимо было временно добавить каталог / usr / libxx / qt4 / bin / в PATH , чтобы разрешить cmake / qmake , чтобы найти нужную версию. Это было необходимо при построении кода, а не при запуске готового приложения QT4.

По какой-то причине путь QT3 уже был установлен там постоянно и, к сожалению, в начале PATH , что мешало правильной работе селектора версии QT.

0
27.01.2020, 19:38

В некоторых дистрибутивах, таких как Debian Jessie Stable, вы можете сделать следующее:

sudo apt-get install -y qt4-qmake qt4-dev-tools
sudo update-alternatives --install "/usr/bin/qmake" "qmake" "/usr/bin/qmake-qt4" 40
sudo update-alternatives --config qmake

И просто выберите версию, которая вам нужна, если вам нужно изменить снова, просто запустите третью строку.

2
27.01.2020, 19:38

Hay un mejor método .

Si desea que sus cambios sean permanentes, debe modificar el archivo /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf, que es un enlace simbólico a ../../../../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 el archivo de enlace simbólico original y su destino en su lugar (en caso de que desee recuperar la configuración original ). Y también cree los nuevos archivos en las ubicaciones predeterminadas (para mantener la coherencia ). Así que aquí están los pasos:

Cambiar el nombre del archivo de enlace simbólico:

sudo mv /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf_orig

Crear un nuevo archivo de configuración de destino (con cualquier nombre):

gksudo gedit /usr/share/qtchooser/my_Qt_5.10.1_Desktop_gcc_x64.conf

Este archivo debe contener dos líneas :la primera línea es la ruta a los archivos binarios de Qt (incluido qmake )y la segunda es la ruta a las bibliotecas de Qt (incluidos los archivos.so ). En mi caso es

<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib

Guárdelo y ciérrelo. Cree un enlace simbólico default.confal nuevo archivo de configuración:

ln -s /usr/share/qtchooser/my_Qt_5.10.1_Destop_gcc_x64.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

Revisa tu versión de Qt:

qmake --version

Ahora siempre debe usar la versión especificada.

9
27.01.2020, 19:38

qmake(/usr/bin/qmake) en realidad es solo un enlace simbólico aqtchooser(/usr/bin/qtchooser).

He aquí una cita deman qtchooser:

FILES
       /etc/xdg/qtchooser/default.conf
              System-wide  configuration  files. Each has two lines, the first
              is the path to the binaries and the second is the path to the Qt
              libraries.  If  a default.conf is provided, the settings from it
              will be automatically used in case nothing else is selected.

       $HOME/.config/qtchooser/*.conf
              User configuration files.

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 para elegir la versión predeterminada de Qt para qmakeen el ejemplo de mi sistema (Ubuntu 17.10 x64, Qt 5.10.1 ).

Crear el directorio /etc/xdg/qtchooser:

sudo mkdir /etc/xdg/qtchooser

Crear y editar el archivo de configuración:

gksudo gedit /etc/xdg/qtchooser/default.conf

Como se ha dicho anteriormente. este archivo debe contener dos líneas :la primera línea es la ruta a los archivos binarios de Qt (incluido qmake )y la segunda es la ruta a las bibliotecas de Qt (incluidos los archivos.so ). En mi caso será:

<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib

Guárdelo y cierre. Ahora qmakedebería usar la versión de Qt especificada.

2
27.01.2020, 19:38

Многие из приведенных выше ответов будут работать. Однако я лично обнаружил, что ни один из них не является стойким. Например. Я могу запустить эту команду:

$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu

Но если я открою новый терминал и проверю версию Qt, она вернется к значению по умолчанию, и если у вас установлено несколько версий Qt, значение по умолчанию может быть не тем, которое вам нужно. Вы можете сказать, выполнив эту команду:

$ qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR=...
QTLIBDIR=...

Единственный способ сохранить изменения — изменить версию по умолчанию. Сделать это,отредактируйте /usr/lib/x86_64-linux-gnu/qtchooser/default.confи измените эту строку:

/usr/lib/x86_64-linux-gnu/qt5/bin

Где вы меняете qt5на любую версию, которую хотите. Вы можете использовать команду qtchooser -list-versions, чтобы увидеть, какие версии установлены на вашем компьютере.

3
27.01.2020, 19:38
sudo apt-get install qt5-default

Если вы хотите qt5, для qt4используйте:

sudo apt-get install qt4-default
4
27.01.2020, 19:38

Теги

Похожие вопросы