mafulechka
mafulechka21 лютого 2020 р. 05:03

Тепер Qt можна переміщувати!

Починаючи з версії 5.14.0 Qt, можна переміщати , тобто можна перенести установку Qt в іншу директорію, не порушуючи функціональність і не завантажуючи плагіни.


Що це означає для мене?

Давайте перейдемо до ролі майстра збірки Qt у проекті Windows. Ви той, хто знає всі налаштування аргументів напам'ять. Ви знаєте, який гвинтик оптимізації повернути, а яку непотрібну функцію вимкнути.
Ваша збірка Qt ідеально адаптована до проекту, і ви надаєте zip-файл, що містить Qt.

configure -prefix C:/Qt/5.12.6 ...more options...
jom
jom install
zip -r X:\shared_stuff\qt-5.12.6.zip C:\Qt\5.12.6

Потім ваші товариші по команді витягують архів в те саме місце, і все працює відмінно.
Тепер, з будь-якої причини, Joe Developer повинен розпакувати інсталяцію Qt в будь-якій іншій drive/directory (директорію).
Qt у цій іншій директорії не працює. QMake не працюватиме належним чином. Плагіни не можуть бути завантажені. Asset'и Qt не знайдено.

Чому все зламалося?

Історично, конфігурація Qt вбудовувала директорію установки у виконуваному файлі qmake та бібліотеку Qt5Core. Логіка в QLibraryInfo намагається знайти плагіни, asset'и та mkspecs під жорстко заданим префіксом, який завжди є тим, що ви передали для налаштування з аргументом -prefix.

А Qt 5.14 переміщення директорії установки працює?

О так! Починаючи з Qt 5.14.0, префікс установки може автоматично визначатися розташуванням бібліотеки Qt5Core або самого виконуваного файлу без використання жорстко заданих шляхів.
Цей автоматизм контролюється тоді, коли Qt конфігурується через функцію переміщення .
Ця функція увімкнена за умовчанням для нестатичних збірок Qt.
Якщо вам потрібна статична збірка, увімкніть цю функцію вручну:

onfigure -static -feature-relocatable ...

Застереження про статичні зборки, що переміщуються, полягає в тому, що внутрішні переклади Qt не обробляються автоматично.
Вам потрібно буде розгорнути Qt файли разом з вашим додатком.
Ця відмінність від збірки, що не переміщується, є причиною того, що переміщення відключено за умовчанням для статичних збірок.

Якщо мені це не подобається, чи можу я вимкнути цю функцію?

Звичайно, ви можете.

configure -no-feature-relocatable ...

поверне стару поведінку.
Наприклад, дистрибутиви Linux не потребують Qt і можуть відключити цю функцію.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
OI
  • Ora Iro
  • 24 грудня 2024 р. 06:38

C++ - Тест 001. Первая программа и типы данных

  • Результат:40бали,
  • Рейтинг балів-8
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50бали,
  • Рейтинг балів-4
m
  • molni99
  • 26 жовтня 2024 р. 01:37

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80бали,
  • Рейтинг балів4
Останні коментарі
ИМ
Игорь Максимов22 листопада 2024 р. 11:51
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 жовтня 2024 р. 08:19
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов05 жовтня 2024 р. 07:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 11:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Donald Randolph
Donald Randolph30 грудня 2024 р. 02:59
Personal Injury lawyer Santa Monica As an experienced Santa Monica personal injury lawyer, Donald C. Randolph has recovered over $100 Million in verdicts and settlements for our clients. In severe injury cases, this compensation i…
Nirvana Yoga School
Nirvana Yoga School30 грудня 2024 р. 05:13
OAuth2.0 через VK, получение email Nirvana Yoga School is one of the most trusted and reputed traditional Rishikesh yoga courses , India certified by Yoga Alliance, USA. We aim to spread traditional yoga teachings so t…
s
sripark30 грудня 2024 р. 04:47
Mobile app development company in Chennai A Mobile app development company in Chennai focuses on creating personalized mobile applications to meet various business requirements. These companies offer a full range of services,…
a
amit8830 грудня 2024 р. 04:45
Excel in Exams with PSLE Maths Tuition Singapore Preparing for the PSLE can be challenging, but the right guidance makes all the difference. PSLE Maths tuition Singapore offers personalized coaching to help students master key concepts, improv…
a
awinash6230 грудня 2024 р. 04:23
Unlock Your Potential with the Certified Public Accountant Credential" Becoming a Certified Public Accountant (CPA) is a career milestone that opens doors to unparalleled opportunities in the world of accounting and finance. This globally recognized qualification s…

Слідкуйте за нами в соціальних мережах