Spec-Zone.ru › Qt 5.9

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

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

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

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

Директории исходного кода, сборки и установки

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

Рекомендуется хранить эти директории раздельно, используя так называемый shadow-build и опцию -prefix. Это позволит вам сохранить исходное дерево Qt чистым от артефактов сборки и двоичных файлов, которые будут храниться в отдельной директории. Этот метод очень удобен, если вы хотите выполнить несколько сборок из одного исходного дерева, но для разных конфигураций. Чтобы выполнить shadow-сборку, запустите 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, в качестве аргумента для configure передайте -skip qtconnectivity.

./configure -skip qtconnectivity

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

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

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

./configure -no-feature-accessibility

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

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

Библиотеки сторонних производителей

Пакеты исходных кодов 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. Более подробную информацию можно найти на странице вики Устройства.
  • -device-option - устанавливает дополнительные переменные qmake. Например, -device-option CROSS_COMPILE=<path-to-toolchain> устанавливает переменную окружения CROSS_COMPILE, как это требуется некоторыми устройствами.

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

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

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

  • Страница вики по сборке Qt 5 для Android
  • 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 использует установленный на Windows OpenGL, требуя, чтобы 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/qt-5.9/configure-options.html

Spec-Zone.ru

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