Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: DarkHobbit от Декабрь 11, 2021, 01:39



Название: Сборка Qt прибита к абсолютному пути?
Отправлено: DarkHobbit от Декабрь 11, 2021, 01:39
Несколько раз собирал статически Qt для Windows, как 4, так и 5, с помощью MinGW.
Потом захотел посмотреть, что будет, если сборку убрать в другой каталог. И всё заверте...
Qt4: qmake не может найти uic.
Qt5: грабли с mkspec.
Я правильно понял, что в собранной Qt захардкожены абсолютные пути, и перенести в другой каталог без перекомпиляции не получится?

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


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: kambala от Декабрь 11, 2021, 10:13
да, пути абсолютные, но средства переноса существуют (правда, под рукой нет). погугли что-то типа qt fix paths.


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: qate от Декабрь 11, 2021, 10:38
А то я тут мечтал деплоить собранную Qt на другие машины, получается, её надо будет распаковывать в строго определённое место...

Если для венды, то либы должны лежать в каталоге где exe (другое я не знаю,  надо посмотреть как креатор сделан)

Если для linux, то либы или там где собирал или в любое место и запуск через LD_LIBRARY_PATH (смотри как креатор запускается через скрипт qtcreator.sh)
Креатор можно запустить через qtcreator (без скрипта) - в нем пути относительно забиты через $ORIGIN (https://linux.die.net/man/8/ld-linux)

В всех случаях нужно делать qt.conf где прописать путь для плагинов


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: Johnik от Декабрь 11, 2021, 15:03
А то я тут мечтал деплоить собранную Qt на другие машины, получается, её надо будет распаковывать в строго определённое место...
Для винды в каталоге с бинарниками лежит утилита: windeployqt.exe
Для линукса использовал эту: https://github.com/probonopd/linuxdeployqt (https://github.com/probonopd/linuxdeployqt). Эта работает лучше чем виндовая встроенная версия.


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: kambala от Декабрь 11, 2021, 15:24
да тут вопрос не о том как прилепить длл к приложению, а о том как перенести полное Qt «окружение» (папку установки) в другое место (например, другая папка на этой машине или вообще другая машина)


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: Авварон от Декабрь 12, 2021, 12:42
qt.conf рядом с qmake


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: qate от Декабрь 12, 2021, 14:20
да тут вопрос не о том как прилепить длл к приложению, а о том как перенести полное Qt «окружение» (папку установки) в другое место (например, другая папка на этой машине или вообще другая машина)

и какая может быть причина так делать не используя инсталлятор ?


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: kambala от Декабрь 12, 2021, 15:18
да тут вопрос не о том как прилепить длл к приложению, а о том как перенести полное Qt «окружение» (папку установки) в другое место (например, другая папка на этой машине или вообще другая машина)

и какая может быть причина так делать не используя инсталлятор ?

когда собираешь сам


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: Day от Декабрь 14, 2021, 22:52
Цитировать
Я правильно понял, что в собранной Qt захардкожены абсолютные пути,
Да, я тоже с этим сталкнулся, переписав просто из одной директории в другую. Дело было на даче, и на лаптопе просто не было такого диска, а установочный я забыл
От нечего делать пролистал бинарник qmake. И ужаснулся! Какой юниор, из какого кулинарного техникума его делал!?


Название: Re: Сборка Qt прибита к абсолютному пути?
Отправлено: Day от Декабрь 14, 2021, 23:01
Дело было, правда, еще на четверка (4.5), может быть сейчас положение изменилось...