qmake и QT_INSTALL_PREFIX.Как выбрать новое место для библиотеки Qt?

StackOverflow https://stackoverflow.com/questions/913642

  •  06-09-2019
  •  | 
  •  

Вопрос

Я новичок в qmake и пытаюсь создать существующее приложение.Qt изначально был установлен в /usr/local/lib/Qt-4.3.5, и 'qmake -query QT_INSTALL_PREFIX' возвращает этот путь.

Я переместил библиотеку Qt в другое место, и в сгенерированные файлы Makefile добавлен исходный путь /usr/local.

Как я могу заставить qmake использовать новое выбранное мной местоположение без перекомпиляции Qt?

Это было полезно?

Решение

Это «встроенная» функция, скомпилированная в qmake из qconfig.cpp.Лучший способ — переконфигурировать Qt с другим префиксом - и, к сожалению, пересобрать.Для большинства других переменных вы можете использовать файл .qmake.cache.Видеть

http://doc.qt.digia.com/qt/qmake-environment-reference.html

для получения дополнительной информации

Другие советы

Я изучал это и нашел способ, который работает (в qt 4.7.2), настроив qt с помощью qt.conf файл.

В моем случае я добавил qt4-4.7.2/bin/qt.conf (Оно должно находиться в том же месте, что и qmake исполняемый файл)

Со следующим содержанием:

[Paths]
Prefix = c:/my_path/to/qt4-4.7.2

и qmake -query начал возвращать правильные пути!

Видеть: http://doc.qt.io/qt-4.8/qt-conf.html Больше подробностей


[Обновление:] Поскольку по крайней мере Qt 5.3.1 (протестировано со статическими версиями 5.3.1 и 5.5 в Windows 8), вы можете просто сделать

[Paths]
Prefix = ..

и разверните установку Qt где угодно.

Как отметил Хенрик Харц, QT_INSTALL_PREFIX является встроенным и не может быть изменен.Однако, если вы просто хотите временно избежать необходимости пересобирать Qt, вы можете попробовать следующее:

Запросите у qmake префикс установки, воссоздайте указанную структуру каталогов и используйте символическую или жесткую ссылку на место расположения перемещенной версии Qt.Например.в Linux

  • Получить путь, о котором сообщил /new/Qt/location/bin/qmake -query QT_INSTALL_PREFIX.Скажите это сообщает /Parent/Dirs/Prefix.
  • Создайте любые родительские каталоги пути, например. mkdir -p /Parent/Dirs/
  • Символическая ссылка на новое местоположение, например. ln -s /new/Qt/location /Parent/Dirs/Prefix

Вышеупомянутое также может быть полезно, если у вас есть группа разработчиков, которым необходимо работать с одной и той же предварительно созданной версией Qt, причем эта версия Qt не обязательно копируется по одному и тому же пути на всех компьютерах разработчиков, и где вам нужно только для объединения общих библиотек Qt с вашим приложением для конечных пользователей (т.е.вы не будете отправлять заголовки или инструменты сборки).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top