Spec-Zone.ru › Qt 5.12

Опции конфигурации 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-<функция> и -no-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
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=<путь-к-инструментам-сборки> предоставляет переменную окружения 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 использует 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/qt-5.12/configure-options.html

Spec-Zone.ru

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