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

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

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

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

3 ответов


Это "встроенный", скомпилированный в qmake из qconfig.СРР. Лучший способ-перенастроить Qt с другим префиксом и перестроить, к сожалению. Для большинства других переменных можно использовать a .для qmake.файл кэша. См.

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

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


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

в моем случае, я добавил 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 дополнительные детали


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

[Paths]
Prefix = ..

и разверните установку Qt в любом месте.


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

Query 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 shared libs с вами приложение для конечных пользователей (т. е. вы не будете отправлять заголовки или инструменты сборки).