Russian Qt Forum
Ноябрь 26, 2024, 02:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка Qt прибита к абсолютному пути?  (Прочитано 4740 раз)
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« : Декабрь 11, 2021, 01:39 »

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

Не то, чтобы мне без этого прожить нельзя, но если моё наблюдение верно, это надо будет учитывать. А то я тут мечтал деплоить собранную Qt на другие машины, получается, её надо будет распаковывать в строго определённое место...
« Последнее редактирование: Декабрь 11, 2021, 09:31 от DarkHobbit » Записан

Мои проекты на Qt: DoubleContact, LInvert
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Декабрь 11, 2021, 10:13 »

да, пути абсолютные, но средства переноса существуют (правда, под рукой нет). погугли что-то типа qt fix paths.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #2 : Декабрь 11, 2021, 10:38 »

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

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

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

В всех случаях нужно делать qt.conf где прописать путь для плагинов
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #3 : Декабрь 11, 2021, 15:03 »

А то я тут мечтал деплоить собранную Qt на другие машины, получается, её надо будет распаковывать в строго определённое место...
Для винды в каталоге с бинарниками лежит утилита: windeployqt.exe
Для линукса использовал эту: https://github.com/probonopd/linuxdeployqt. Эта работает лучше чем виндовая встроенная версия.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Декабрь 11, 2021, 15:24 »

да тут вопрос не о том как прилепить длл к приложению, а о том как перенести полное Qt «окружение» (папку установки) в другое место (например, другая папка на этой машине или вообще другая машина)
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Декабрь 12, 2021, 12:42 »

qt.conf рядом с qmake
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #6 : Декабрь 12, 2021, 14:20 »

да тут вопрос не о том как прилепить длл к приложению, а о том как перенести полное Qt «окружение» (папку установки) в другое место (например, другая папка на этой машине или вообще другая машина)

и какая может быть причина так делать не используя инсталлятор ?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #7 : Декабрь 12, 2021, 15:18 »

да тут вопрос не о том как прилепить длл к приложению, а о том как перенести полное Qt «окружение» (папку установки) в другое место (например, другая папка на этой машине или вообще другая машина)

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

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #8 : Декабрь 14, 2021, 22:52 »

Цитировать
Я правильно понял, что в собранной Qt захардкожены абсолютные пути,
Да, я тоже с этим сталкнулся, переписав просто из одной директории в другую. Дело было на даче, и на лаптопе просто не было такого диска, а установочный я забыл
От нечего делать пролистал бинарник qmake. И ужаснулся! Какой юниор, из какого кулинарного техникума его делал!?
« Последнее редактирование: Декабрь 14, 2021, 22:54 от Day » Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #9 : Декабрь 14, 2021, 23:01 »

Дело было, правда, еще на четверка (4.5), может быть сейчас положение изменилось...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.