Spec-Zone.ru › Qt 5.11

Параметры конфигурации Qt

configure — это инструмент командной строки, определяющий, как следует скомпилировать Qt для конкретной платформы. Configure может исключить функцию в Qt, а также определить, как Qt компилирует и развёртывает приложения на целевых платформах. На этой странице рассматриваются некоторые параметры конфигурации, но для получения полного списка параметров введите команду configure -h. Configure следует запускать из каталога с исходным кодом Qt.

Если не указано иное, команды на этой странице предназначены для платформ Linux. В macOS и Windows PATH и структура каталогов отличаются, поэтому команды будут различаться. Также на системах Windows скрипт конфигурации называется configure.bat.

После запуска configure, постройте исходные файлы с помощью инструмента make, относящегося к выбранной инструментальной цепочке.

Каталоги исходных файлов, сборки и установки

Каталог source содержит исходный код, полученный из исходного пакета или репозитория git. Каталог build хранит файлы, относящиеся к сборке, такие как Makefiles, объектные файлы и другие промежуточные файлы. Каталог install предназначен для установки библиотек и исполняемых файлов, для использования либо системой, либо приложением.

Рекомендуется держать эти каталоги раздельно, используя отложенную сборку и опцию -prefix. Это позволяет сохранить дерево исходных файлов Qt чистым от артефактов сборки и библиотек, которые хранятся в отдельном каталоге. Этот метод очень удобен, если требуется выполнить несколько сборок из одного дерева исходных файлов, но для разных конфигураций. Для отложенной сборки запустите configure из отдельного каталога:

mkdir ~/qt-build
cd ~/qt-build
~/qt-source/configure -prefix /opt/Qt5.9
qmake

Конфигурация с опцией -prefix означает, что Qt-бинарные файлы и библиотеки будут установлены в другой каталог, в данном случае /opt/Qt5.9. Запуск qmake создаёт Makefiles в каталоге ~/qt-build, а не в каталоге source. После создания Makefiles выполните следующие команды для сборки Qt-бинарных файлов и библиотек, и их установки:

make
make install

Примечание: Шаг 'make install' требуется только если Qt сконфигурирован с -prefix, что является стандартным на платформах Unix, если не используется опция конфигурации -developer-build. В Windows Qt по умолчанию настроен как сборка без -prefix.

Примечание: -developer-build предназначен для разработки Qt, а не для выпуска приложений. Такая сборка содержит больше экспортируемых символов, чем стандартная сборка, и компилируется с более высоким уровнем предупреждений.

Модули и функции

Qt состоит из различных модулей, исходные коды которых находятся в разных каталогах внутри каталога исходных файлов верхнего уровня. Пользователи могут явно исключить определённые каталоги верхнего уровня, чтобы сократить время сборки. Кроме того, каждый модуль Qt может иметь функции, которые также можно явно включить или отключить.

Исключение модулей Qt

Опция -skip в configure позволяет исключить каталоги исходных файлов верхнего уровня из сборки Qt. Обратите внимание, что многие каталоги содержат несколько модулей Qt. Например, чтобы исключить Qt NFC и Qt Bluetooth из сборки Qt, укажите -skip qtconnectivity в качестве аргумента для configure.

./configure -skip qtconnectivity

Включение или исключение функций

Опции -feature-<feature> и -no-feature-<feature> включают и исключают конкретные функции соответственно.

Например, чтобы отключить Доступность, укажите -no-feature-accessibility в качестве аргумента:

./configure -no-feature-accessibility

Используйте configure -list-features для отображения списка всех доступных функций в командной строке. Обратите внимание, что функции могут зависеть от других функций, поэтому отключение функции может иметь побочные эффекты на другие функции.

Инструмент конфигурации Qt, который входит в состав Qt для разработки устройств, позволяет настраивать функции и зависимости через удобный пользовательский интерфейс.

Библиотеки сторонних разработчиков

Пакеты исходных кодов Qt включают библиотеки сторонних разработчиков. Чтобы установить, будет ли Qt использовать системные версии библиотек или собственные, перед именем библиотеки укажите либо -system, либо -qt.

В таблице ниже приведены параметры сторонних библиотек:

Имя библиотеки Включена в Qt Установлена в системе
zlib -qt-zlib -system-zlib
libjpeg -qt-libjpeg -system-libjpeg
libpng -qt-libpng -system-libpng
xcb -qt-xcb -system-xcb
xkbcommon -qt-xkbcommon -system-xkbcommon
freetype -qt-freetype -system-freetype
PCRE -qt-pcre -system-pcre
HarfBuzz-NG -qt-harfbuzz -system-harfbuzz

Также можно отключить поддержку этих библиотек, используя -no вместо -qt. Например, чтобы использовать системную библиотеку xcb и отключить поддержку zlib, введите следующее:

./configure -no-zlib -qt-libjpeg -qt-libpng -system-xcb

Полный список параметров можно найти в справке с помощью configure -help.

Параметры компилятора

Опция -platform устанавливает целевую платформу и компилятор для сборки исходных кодов Qt. Список поддерживаемых платформ и компиляторов находится на странице поддерживаемых платформ, а полный список доступен в каталоге qtbase/mkspecs.

Например, на системах Ubuntu Linux Qt можно скомпилировать с помощью нескольких компиляторов, таких как clang или g++:

./configure -platform linux-clang
./configure -platform linux-g++
./configure -platform linux-g++-32

Для машин под управлением Windows можно использовать инструментальные цепочки MinGW или Visual Studio для компиляции Qt.

configure.bat -platform win32-g++
configure.bat -platform win32-msvc

После этого сгенерированные Makefiles будут использовать соответствующие команды компилятора.

Параметры кросс-компиляции

Для настройки Qt для кросс-платформенной разработки и развертывания необходимо настроить инструментальную цепочку разработки для целевой платформы. Эта настройка различается в зависимости от Поддерживаемых платформ.

Основные параметры:

  • -xplatform - целевая платформа. Допустимые значения xplatform такие же, как параметры -platform которые находятся в qtbase/mkspecs.
  • -device - конкретное устройство или наборы микросхем. Список совместимых устройств для конфигурации содержится в qtbase/mkspecs/devices. Дополнительную информацию можно найти на странице Wiki Устройства.
  • -device-option - устанавливает дополнительные переменные qmake. Например, -device-option CROSS_COMPILE=<path-to-toolchain> предоставляет переменную среды CROSS_COMPILE, как это требуется определёнными устройствами.

Примечание: Инструментальные цепочки для платформ, отличных от настольных, часто поставляются с так называемым sysroot, против которого необходимо настроить Qt.

Конкретные параметры для платформ

На следующих страницах приведены рекомендации по настройке Qt для разработки под конкретные платформы:

  • Разработка Qt 5 для Android на странице Wiki
  • Qt для iOS — Разработка из исходных кодов
  • Qt для WinRT — Разработка из исходных кодов
  • Qt для встраиваемой Linux — Разработка из исходных кодов
  • Qt для Raspberry Pi — сайт сообщества для устройств Raspberry
  • Устройства — список других устройств и наборов микросхем

Параметры OpenGL для Windows

В Windows Qt можно настроить с использованием системного OpenGL или с ANGLE. По умолчанию Qt настроен на использование динамического OpenGL. Это означает, что он пытается использовать системный OpenGL и переключается на ANGLE, который поставляется с Qt и зависит от DirectX SDK, если системный OpenGL не работает. ANGLE позволяет запускать Qt-приложения, которые зависят от OpenGL, без установки последних драйверов OpenGL. Если ANGLE также не работает, Qt перейдёт к программной отрисовке, что является самым медленным, но и самым надёжным методом отрисовки.

Опция -opengl позволяет настроить Qt на использование OpenGL целевой системы, другой версии OpenGL ES (с или без ANGLE) или динамически переключаться между доступными реализациями OpenGL.

configure.bat -opengl dynamic

С опцией dynamic Qt сначала попытается использовать родной OpenGL. Если это не удастся, он переключится на ANGLE, а в случае неудачи ANGLE — на программную отрисовку.

configure.bat -opengl desktop

С опцией desktop Qt использует OpenGL, установленный в Windows, что требует совместимости OpenGL целевой Windows-машины с приложением. Опция -opengl принимает две версии OpenGL ES, es2 для OpenGL ES 2.0 или es1 для OpenGL ES Common Profile.

configure.bat -opengl es2

Вы также можете использовать -opengl dynamic, что позволит приложениям динамически переключаться между доступными вариантами во время выполнения. Дополнительную информацию о преимуществах использования динамического переключения GL см. в Драйверах графики.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/configure-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API