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