Spec-Zone.ru › Qt 6.0

Переменные

Основное поведение qmake определяется объявлением переменных, которые определяют процесс сборки каждого проекта. Некоторые из них объявляют ресурсы, такие как заголовки и исходные файлы, общие для каждой платформы. Другие используются для настройки поведения компиляторов и компоновщиков на конкретных платформах.

Платформенно-специфические переменные следуют шаблону именования переменных, которые они расширяют или изменяют, но включают в свое имя имя соответствующей платформы. Например, makespec может использовать QMAKE_LIBS для указания списка библиотек, от которых зависит каждый проект, а QMAKE_LIBS_X11 будет использоваться для расширения этого списка.

ANDROID_ABIS

Примечание: Эта переменная применяется только к целям Android.

Указывает список целевых ABIs для Android. Допустимые значения: armeabi-v7a, arm64-v8a, x86, x86_64.

Вы можете указать ABIs в качестве аргумента qmake:

qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"

Примечание: Возможно использование этой переменной внутри файла *.pro, однако это не рекомендуется, так как это переопределит любые ABIs, указанные в командной строке qmake.

ANDROID_API_VERSION

Примечание: Эта переменная применяется только к целям Android.

Указывает номер уровня API Android. Для получения дополнительной информации см. Номера сборки Android.

ANDROID_APPLICATION_ARGUMENTS

Примечание: Эта переменная применяется только к целям Android.

Указывает дополнительные аргументы командной строки для приложения Android, используя AndroidManifest.xml со тегом "android.app.arguments". Это принимает строку аргументов:

ANDROID_APPLICATION_ARGUMENTS = "arg1 arg2 arg3"

ANDROID_BUNDLED_JAR_DEPENDENCIES

Примечание: Эта переменная применяется только к модулям Android.

Это полезно при написании модуля Qt. Она указывает список предварительно скомпонованных зависимостей, используемых модулем в формате .jar, например:

ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/Qt6Android.jar

ANDROID_DEPLOYMENT_DEPENDENCIES

Примечание: Эта переменная применяется только к целям Android.

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

Примечание: Включаются только файлы Qt, указанные с помощью этой переменной. Пропуск всех необходимых файлов может привести к сбоям. Также важно убедиться, что файлы перечислены в правильном порядке загрузки. Эта переменная предоставляет способ полностью переопределить автоматическое обнаружение, поэтому если библиотека указана до своих зависимостей, она не загрузится на некоторых устройствах.

ANDROID_DEPLOYMENT_SETTINGS_FILE

Примечание: Эта переменная применяется только к целям Android.

Указывает путь к файлу android-deployment-settings.json, необходимому для androiddeployqt и androidtestrunner. Это переопределяет путь к файлу настроек, сгенерированному qmake, поэтому необходимо убедиться, что предоставлен допустимый файл настроек.

ANDROID_EXTRA_LIBS

Примечание: Эта переменная применяется только к целям Android.

Список внешних библиотек, которые будут скопированы в папку libs вашего приложения и загружены при запуске. Это можно использовать, например, для включения OpenSSL в ваше приложение. Для получения дополнительной информации см. Добавление поддержки OpenSSL для Android.

Чтобы включить внешние библиотеки для нескольких ABIs, где у каждого ABI есть своя директория, используйте следующее:

for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/$${abi}/library_name.so

В противном случае, если ABI включён в имя библиотеки, используйте следующее:

for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/library_name_$${abi}.so

ANDROID_EXTRA_PLUGINS

Примечание: Эта переменная применяется только к целям Android.

Указывает путь к плагинам C++ или ресурсам, которые ваше приложение должно скомпоновать, но которые не могут быть переданы через систему активов, такие как плагины QML. С помощью этой переменной androiddeployqt будет гарантировать, что всё правильно упаковано и развернуто.

ANDROID_EXTRA_PLUGINS должен указывать на каталог, где построены дополнительные плагины. Кроме того, структура каталога сборки должна следовать соглашению об именах, подобному плагинам Qt, то есть plugins/<имя плагина>.

Библиотеки плагинов должны иметь формат имён libplugins_<тип>_<имя>_<abi>.so. Для этого файл pro плагина можно определить следующим образом:

TEMPLATE = lib
CONFIG += plugin

PLUGIN_TYPE = imageformats
DESTDIR = $$top_builddir/plugins/myplugin
TARGET = $$qt5LibraryTarget(myplugin, "plugins/$$PLUGIN_TYPE/")

с top_builddir, определённым в .qmake.conf как:

top_builddir=$$shadowed($$PWD)

Это гарантирует, что к библиотеке плагина будет применено правильное преобразование имён (plugins/myplugin/libplugins_imageformats_myplugin_armeabi-v7a.so).

Затем, предполагая, что дополнительный плагин форматов изображений myplugin собран как $$DESTDIR/plugins/myplugin/, следующее гарантирует его правильную упаковку:

ANDROID_EXTRA_PLUGINS += $$top_builddir/plugins

ANDROID_FEATURES

Примечание: Эта переменная применяется только к модулям Android.

Указывает список функций модуля:

ANDROID_FEATURES += android.hardware.location.gps

Для получения дополнительной информации см. Документацию Android <uses-feature>.

ANDROID_LIB_DEPENDENCIES

Примечание: Эта переменная применяется только к модулям Android.

Это полезно при написании модуля Qt. Она указывает список предварительно собранных зависимостей, используемых модулем, например:

ANDROID_LIB_DEPENDENCIES += \
    plugins/libplugins_platforms_qtforandroid.so

ANDROID_MIN_SDK_VERSION

Примечание: Эта переменная применяется только к целям Android.

Указывает минимальный уровень API Android для проекта. По умолчанию эта переменная установлена в уровень API 23.

ANDROID_PACKAGE_SOURCE_DIR

Примечание: Эта переменная применяется только к целям Android.

Указывает путь к шаблону пакета Android. Шаблон пакета Android содержит:

  • Файл AndroidManifest.xml
  • Файл build.gradle и другие скрипты Gradle
  • Файл res/values/libs.xml

Указанный этим параметром путь может содержать пользовательские классы Java в каталоге src. По умолчанию инструмент androiddeployqt копирует шаблон приложения из пути установки Qt for Android в каталог сборки вашего проекта, затем он копирует содержимое пути, указанного этой переменной, поверх него, перезаписывая любые существующие файлы. Например, вы можете создать пользовательский AndroidManifest.xml для своего приложения, а затем поместить его непосредственно в каталог, указанный этой переменной.

ANDROID_PERMISSIONS

Примечание: Эта переменная применяется только к модулям Android.

Указывает список разрешений модуля:

ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION

Для получения дополнительной информации см. Документацию Android <uses-permission>.

ANDROID_TARGET_SDK_VERSION

Примечание: Эта переменная применяется только к целям Android.

Указывает целевой уровень API Android для проекта. По умолчанию эта переменная установлена в уровень API 29.

ANDROID_VERSION_CODE

Примечание: Эта переменная применяется только к целям Android.

Указывает номер версии приложения. Для получения дополнительной информации см. Версионирование приложений Android.

ANDROID_VERSION_NAME

Примечание: Эта переменная применяется только к целям Android.

Указывает номер версии приложения в удобочитаемой строке. Для получения дополнительной информации см. Версионирование приложений Android.

CONFIG

Указывает конфигурацию проекта и опции компилятора. Значения распознаются qmake внутри и имеют специальное значение.

Следующие CONFIG значения управляют флагами компилятора и компоновщика:

Вариант Описание
release Проект должен быть собран в режиме release. Если также указан debug, то действует последнее указание.
debug Проект должен быть собран в режиме debug.
debug_and_release Проект готов к сборке в обоих режимах debug и release.
debug_and_release_target Этот параметр установлен по умолчанию. Если также установлен debug_and_release, то сборки debug и release окажутся в отдельных директориях debug и release.
build_all Если указан debug_and_release, проект по умолчанию собирается в режимах debug и release.
autogen_precompile_source Автоматически генерирует файл .cpp, который включает в себя файл предварительно скомпилированных заголовков, указанный в файле .pro.
ordered При использовании шаблона subdirs, этот параметр указывает, что перечисленные директории должны обрабатываться в том порядке, в котором они указаны.

Примечание: Использование этого параметра не рекомендуется. Указывайте зависимости, как описано в документации переменной SUBDIRS.

precompile_header Включает поддержку использования предварительно скомпилированных заголовков в проектах.
precompile_header_c (MSVC only) Включает поддержку использования предварительно скомпилированных заголовков для файлов C.
warn_on Компилятор должен выводить как можно больше предупреждений. Если также указан warn_off, то действует последнее указание.
warn_off Компилятор должен выводить как можно меньше предупреждений.
exceptions Поддержка исключений включена. Установлено по умолчанию.
exceptions_off Поддержка исключений отключена.
ltcg Включена генерация кода во время компоновки. По умолчанию отключено.
rtti Поддержка RTTI включена. По умолчанию используется стандартное поведение компилятора.
rtti_off Поддержка RTTI отключена. По умолчанию используется стандартное поведение компилятора.
stl Поддержка STL включена. По умолчанию используется стандартное поведение компилятора.
stl_off Поддержка STL отключена. По умолчанию используется стандартное поведение компилятора.
thread Поддержка потоков включена. Включено, когда CONFIG включает qt, что является стандартным значением.
no_utf8_source Указывает, что исходные файлы проекта не используют кодировку UTF-8. Вместо этого используется поведение по умолчанию компилятора.
hide_symbols Установить по умолчанию видимость символов в бинарнике на скрытую. По умолчанию используется поведение компилятора.
c99 Поддержка C99 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C99 или не может выбрать стандарт C. По умолчанию используется стандартное поведение компилятора.
c11 Поддержка C11 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C11 или не может выбрать стандарт C. По умолчанию используется стандартное поведение компилятора.
strict_c Отключает поддержку расширений компилятора C. По умолчанию они включены.
c++11 Поддержка C++11 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++11 или не может выбрать стандарт C++. По умолчанию поддержка включена.
c++14 Поддержка C++14 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++14 или не может выбрать стандарт C++. По умолчанию используется стандартное поведение компилятора.
c++1z Поддержка C++17 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++17 или не может выбрать стандарт C++. По умолчанию поддержка отключена.
c++17 То же, что и c++1z.
c++2a Поддержка C++2a включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++2a или не может выбрать стандарт C++. По умолчанию поддержка отключена.
c++latest Включена поддержка последней версии стандарта C++, поддерживаемой компилятором. По умолчанию этот параметр отключен.
strict_c++ Отключает поддержку расширений компилятора C++. По умолчанию они включены.
depend_includepath Включение добавления значения INCLUDEPATH в DEPENDPATH. Установлено по умолчанию.
lrelease Выполнить lrelease для всех файлов, перечисленных в TRANSLATIONS и EXTRA_TRANSLATIONS. Если embed_translations не установлено, установленные сгенерированные файлы .qm помещаются в QM_FILES_INSTALL_PATH. Используйте QMAKE_LRELEASE_FLAGS для добавления параметров к вызову lrelease. По умолчанию не установлено.
embed_translations Встроить сгенерированные переводы из lrelease в исполняемый файл, под QM_FILES_RESOURCE_PREFIX. Также требует установки lrelease. По умолчанию не установлено.
create_libtool Создать файл .la для libtool для текущей библиотеки.
create_pc Создать файл .pc для pkg-config для текущей библиотеки.
no_batch Только NMake: Выключить генерацию командных файлов NMake или правил вывода.
skip_target_version_ext Отключить автоматическое добавление номера версии к имени файла DLL в Windows.
suppress_vcproj_warnings Отключить предупреждения генератора проекта VS.
windeployqt Автоматически вызвать windeployqt после компоновки и добавить результат как элементы развертывания.
dont_recurse Отключить рекурсию qmake для текущего подпроекта.
no_include_pwd Не добавлять текущую директорию в INCLUDEPATH.

При использовании параметра debug_and_release (который установлен по умолчанию в Windows), проект будет обработан трижды: один раз для создания «мета» файла Makefile и дважды для создания Makefile.Debug и Makefile.Release.

Во время последующих проходов build_pass и соответствующий параметр debug или release добавляется к CONFIG. Это позволяет выполнять задачи, специфичные для сборки. Например:

build_pass:CONFIG(debug, debug|release) {
    unix: TARGET = $$join(TARGET,,,_debug)
    else: TARGET = $$join(TARGET,,,d)
}

В качестве альтернативы ручному написанию условных выражений для типа сборки, некоторые переменные предлагают варианты, специфичные для типа сборки, например QMAKE_LFLAGS_RELEASE дополнительно к общему QMAKE_LFLAGS. Следует использовать их, когда это возможно.

Мета-файл Makefile делает подсборки вызываемыми через цели debug и release, а объединённую сборку через цель all. Когда используется параметр build_all CONFIG, объединённая сборка является по умолчанию. В противном случае последний указанный параметр CONFIG из набора (debug, release) определяет значение по умолчанию. В этом случае вы можете явно вызвать цель all для сборки обеих конфигураций сразу:

make all

Примечание: Детали немного отличаются при создании проектов Visual Studio и Xcode.

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

Вариант Описание
create_prl Этот параметр позволяет qmake отслеживать эти зависимости. При включении этого параметра qmake создаст файл с расширением .prl, который сохранит мета-информацию о библиотеке (подробнее см. Зависимости библиотек).
link_prl При включении этого параметра qmake обработает все библиотеки, к которым ссылается приложение, и найдёт их мета-информацию (подробнее см. Зависимости библиотек).
no_install_prl Этот параметр отключает генерацию правил установки для сгенерированных файлов .prl.

Примечание: Параметр create_prl необходим при сборке статической библиотеки, а link_prl необходим при использовании статической библиотеки.

Следующие параметры определяют тип приложения или библиотеки:

Опция Описание
qt Целевой объект — приложение или библиотека Qt, требующая библиотеку и заголовочные файлы Qt. Правильные пути включения и библиотеки для библиотеки Qt будут автоматически добавлены в проект. Это задано по умолчанию и может быть уточнено с помощью переменной \l{#qt}{QT}.
x11 Целевой объект — приложение или библиотека X11. Правильные пути включения и библиотеки будут автоматически добавлены в проект.
testcase Целевой объект — автоматизированный тест. Целевой объект проверки будет добавлен в сгенерированный Makefile для запуска теста. Актуально только при генерации Makefile.
insignificant_test Код завершения автоматизированного теста будет проигнорирован. Актуально только если также установлено значение testcase .
windows Целевой объект — приложение Win32 для окон (только приложение). Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект.
console Целевой объект — консольное приложение Win32 (только приложение). Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект. Для кроссплатформенных приложений рекомендуется использовать опцию cmdline .
cmdline Целевой объект — кроссплатформенное командное приложение. В Windows это подразумевает CONFIG += console. В macOS это подразумевает CONFIG -= app_bundle.
shared Целевой объект — общая библиотека/DLL. Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект. Обратите внимание, что dll также может быть использовано на всех платформах; будет создан файл общей библиотеки с соответствующим суффиксом для целевой платформы (.dll или .so).
dll
static Целевой объект — статическая библиотека (только lib). Правильные флаги компилятора будут автоматически добавлены в проект.
staticlib
plugin Целевой объект — плагин (только lib). Это также включает dll.
designer Целевой объект — плагин для Qt Designer.
no_lflags_merge Обеспечивает, что список библиотек, хранящихся в переменной LIBS, не будет сокращен до списка уникальных значений перед использованием.
metatypes Создать файл <name>_metatypes.json для текущего проекта. <name> — имя базового файла в нижнем регистре TARGET.
qmltypes Автоматическая регистрация типов QML, определённых на C++. Дополнительная информация: Определение типов QML из C++. Также создается файл <template>.qmltypes для текущего проекта. <template> будет plugins (множественное число, по историческим причинам), если установлено значение plugin, или значение TEMPLATE в противном случае. qmltypes подразумевает metatypes.

Эти опции действуют только в Windows:

Опция Описание
flat При использовании шаблона vcapp все исходные файлы будут помещены в группу исходных файлов, а заголовочные файлы — в группу заголовочных файлов независимо от каталога, в котором они находятся. Отключение этой опции сгруппирует файлы в группе исходных/заголовочных файлов в зависимости от каталога, в котором они находятся. Включено по умолчанию.
embed_manifest_dll Встраивает файл манифеста в DLL, созданную в рамках проекта библиотеки.
embed_manifest_exe Встраивает файл манифеста в EXE, созданный в рамках проекта приложения.

Дополнительную информацию об опциях встраивания файлов манифеста см. в разделе Заметки о платформах.

Следующие опции действуют только в macOS:

Опция Описание
app_bundle Помещает исполняемый файл в пакет (это значение по умолчанию).
lib_bundle Помещает библиотеку в пакет библиотеки.
plugin_bundle Помещает плагин в пакет плагинов. Это значение не поддерживается генератором проекта Xcode.

Процесс построения пакетов также зависит от содержимого переменной QMAKE_BUNDLE_DATA.

Следующие опции действуют только на платформах Linux/Unix:

Опция Описание
largefile Включает поддержку больших файлов.
separate_debug_info Помещает отладочную информацию для библиотек в отдельные файлы.

При разрешении областей также будет проверена переменная CONFIG. Вы можете присвоить этой переменной любое значение.

Например:

CONFIG += console newstuff
...
newstuff {
    SOURCES += new.cpp
    HEADERS += new.h
}

ОПРЕДЕЛЕНИЯ

qmake добавляет значения этой переменной как макросы препроцессора C компилятора (-D опция).

Например:

DEFINES += USE_MY_STUFF

ОПРЕДЕЛЕНИЯ_ОТЛАДКИ

Устанавливает макросы препроцессора для конфигурации отладки. Значения этой переменной добавляются к ОПРЕДЕЛЕНИЯМ после загрузки проекта. Обычно эта переменная устанавливается в qmake.conf и редко требует изменения.

Эта переменная была введена в Qt 5.13.2.

ОПРЕДЕЛЕНИЯ_РЕЛИЗА

Устанавливает макросы препроцессора для конфигурации релиза. Значения этой переменной добавляются к ОПРЕДЕЛЕНИЯМ после загрузки проекта. Обычно эта переменная устанавливается в qmake.conf и редко требует изменения.

Примечание: Для MSVC mkspecs эта переменная по умолчанию содержит значение NDEBUG.

Эта переменная была введена в Qt 5.13.2.

Файл DEF

Примечание: Эта переменная используется только в Windows при использовании шаблона app.

Указывает файл .def для включения в проект.

DEPENDPATH

Указывает список каталогов, которые qmake должен просканировать для разрешения зависимостей. Эта переменная используется, когда qmake просматривает заголовочные файлы, которые вы #include в своём исходном коде.

DESTDIR

Указывает, куда поместить файл цели.

Например:

DESTDIR = ../../lib

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

DISTFILES

Указывает список файлов, которые должны быть включены в целевой объект dist. Эта функция поддерживается только для UnixMake specs.

Например:

DISTFILES += ../program.txt

DLLDESTDIR

Примечание: Эта переменная применяется только к целевым объектам Windows.

Указывает, куда скопировать dll цели.

EXTRA_TRANSLATIONS

Указывает список файлов переводов (.ts), содержащих переводы текста пользовательского интерфейса на языки, отличные от языка по умолчанию.

В отличие от TRANSLATIONS, файлы переводов в EXTRA_TRANSLATIONS будут обработаны только lrelease, а не lupdate.

Вы можете использовать CONFIG += lrelease для автоматической компиляции файлов во время сборки и CONFIG += lrelease embed_translations для их доступности в Системе ресурсов Qt.

См. Руководство по Qt Linguist для получения дополнительной информации об интернационализации (i18n) и локализации (l10n) с Qt.

FORMS

Указывает файлы пользовательского интерфейса (см. Руководство по Qt Designer), которые будут обработаны uic перед компиляцией. Все необходимые зависимости, заголовочные файлы и исходные файлы для построения этих файлов пользовательского интерфейса будут автоматически добавлены в проект.

Например:

FORMS = mydialog.ui \
    mywidget.ui \
        myconfig.ui

GUID

Устанавливает GUID, который вставляется в файл .vcproj. GUID обычно определяется случайным образом. Однако, если вам нужен фиксированный GUID, его можно установить с помощью этой переменной.

Эта переменная относится только к файлам .vcproj , в противном случае она игнорируется.

ЗАГОЛОВОЧНЫЕ_ФАЙЛЫ

Определяет заголовочные файлы проекта.

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

Например:

HEADERS = myclass.h \
          login.h \
          mainwindow.h

См. также ИСТОЧНИКИ.

ИКОНКА

Эта переменная используется только в macOS для установки значка приложения. Дополнительную информацию см. в документации по значку приложения.

IDLSOURCES

Эта переменная используется только в Windows для генерации проекта Visual Studio, чтобы поместить указанные файлы в папку «Сгенерированные файлы».

INCLUDEPATH

Указывает каталоги #include, которые следует искать при компиляции проекта.

Например:

INCLUDEPATH = c:/msdev/include d:/stl/include

Чтобы указать путь, содержащий пробелы, используйте технику, описанную в Пробелы.

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"

УСТАНОВКА

Указывает список ресурсов, которые будут установлены при выполнении make install или аналогичной процедуре установки. Каждый элемент в списке обычно определяется атрибутами, предоставляющими информацию о том, куда он будет установлен.

Например, следующее target.path определение описывает, куда будет установлен целевой объект сборки, а INSTALLS присваивание добавляет целевой объект сборки в список существующих ресурсов для установки:

target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target

INSTALLS имеет член .CONFIG , который может принимать несколько значений:

Значение Описание
no_check_exist Если не задано, qmake проверяет, существуют ли файлы для установки. Если эти файлы отсутствуют, qmake не создаёт правило установки. Используйте это значение конфигурации, если вам нужно установить файлы, сгенерированные в процессе сборки, например, HTML-файлы, созданные qdoc.
nostrip Если задано, обычная функция Unix strip отключается, и отладочная информация останется в двоичном файле.
executable В Unix это устанавливает флаг исполняемого файла.
no_build При выполнении make install, если у проекта ещё нет сборки, проект сначала собирается, а затем устанавливается. Если вы не хотите этого поведения, задайте это значение конфигурации, чтобы цель сборки не добавлялась в качестве зависимости к цели установки.
no_default_install У проекта есть целевой проект верхнего уровня, где при выполнении make install, всё устанавливается. Но если у вас есть цель установки с заданным этим значением конфигурации, она по умолчанию не устанавливается. Тогда вам нужно явно указать make install_<file>.

Для получения дополнительной информации см. Установка файлов.

Эта переменная также используется для указания дополнительных файлов, которые будут развернуты на встроенных устройствах.

JAVA_HOME

Примечание: Эта переменная полезна только для целей Android.

Указывает путь к установке JDK/OpenJDK, используемой для сборки проекта.

LEXIMPLS

Указывает список файлов реализации Lex. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

LEXOBJECTS

Указывает имена промежуточных файлов объектов Lex. Значение этой переменной обычно обрабатывается qmake и редко требует изменения.

LEXSOURCES

Указывает список исходных файлов Lex. Все зависимости, заголовки и исходные файлы будут автоматически добавлены в проект для сборки этих файлов lex.

Например:

LEXSOURCES = lexer.l

LIBS

Указывает список библиотек, которые должны быть подключены к проекту. Если вы используете Unix -l (библиотека) и -L (путь к библиотеке) флаги, qmake обрабатывает библиотеки правильно в Windows (то есть передаёт полный путь к библиотеке компоновщику). Библиотека должна существовать, чтобы qmake нашёл каталог, где находится -l lib.

Например:

unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib

Чтобы указать путь, содержащий пробелы, укажите путь в кавычках, используя метод, описанный в Пробелы.

win32:LIBS += "C:/mylibs/extra libs/extra.lib"
unix:LIBS += "-L/home/user/extra libs" -lextra

По умолчанию список библиотек, хранящихся в LIBS, сводится к списку уникальных имён перед использованием. Чтобы изменить это поведение, добавьте опцию no_lflags_merge к переменной CONFIG:

CONFIG += no_lflags_merge

LIBS_PRIVATE

Указывает список библиотек, которые должны быть приватно подключены к проекту. Поведение этой переменной идентично переменной LIBS, за исключением того, что проекты общих библиотек, построенные для Unix, не раскрывают эти зависимости в своём интерфейсе связывания.

Это означает, что если проект C зависит от библиотеки B, которая, в свою очередь, зависит от библиотеки A приватно, но C также хочет использовать символы из A напрямую, ему нужно явно подключиться к A. Другими словами, приватно подключённые библиотеки не экспонируются транзитивно во время сборки.

LITERAL_HASH

Эта переменная используется всякий раз, когда в объявлении переменной требуется буквальный символ решётки (#), возможно, как часть имени файла или в строке, передаваемой некоторому внешнему приложению.

Например:

# To include a literal hash character, use the $$LITERAL_HASH variable:
urlPieces = http://doc.qt.io/qt-5/qtextdocument.html pageCount
message($$join(urlPieces, $$LITERAL_HASH))

Используя LITERAL_HASH таким образом, символ # можно использовать для построения URL для функции message() для вывода в консоль.

MAKEFILE

Указывает имя сгенерированного файла Makefile. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

MAKEFILE_GENERATOR

Указывает имя генератора Makefile, который следует использовать при генерации Makefile. Значение этой переменной обычно обрабатывается внутри qmake и редко требует изменения.

MSVCPROJ_*

Эти переменные обрабатываются внутри qmake и не должны изменяться или использоваться.

MOC_DIR

Указывает каталог, в котором должны храниться все промежуточные файлы moc.

Например:

unix:MOC_DIR = ../myproject/tmp
win32:MOC_DIR = c:/myproject/tmp

OBJECTIVE_HEADERS

Определяет заголовочные файлы Objective-C++ для проекта.

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

Это аналогично переменной HEADERS, но позволит скомпилировать сгенерированные файлы moc с помощью компилятора Objective-C++.

См. также OBJECTIVE_SOURCES.

OBJECTIVE_SOURCES

Указывает имена всех исходных файлов Objective-C/C++ в проекте.

Эта переменная устарела. Файлы Objective-C/C++ (.m и .mm) можно добавить в переменную SOURCES.

См. также OBJECTIVE_HEADERS.

OBJECTS

Эта переменная автоматически заполняется из переменной SOURCES. Расширение каждого исходного файла заменяется на .o (Unix) или .obj (Win32). Вы можете добавить объекты в список.

OBJECTS_DIR

Указывает каталог, в котором должны храниться все промежуточные объекты.

Например:

unix:OBJECTS_DIR = ../myproject/tmp
win32:OBJECTS_DIR = c:/myproject/tmp

POST_TARGETDEPS

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

Этот список размещается после всех встроенных (и $$PRE_TARGETDEPS) зависимостей.

PRE_TARGETDEPS

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

Этот список размещается перед всеми встроенными зависимостями.

PRECOMPILED_HEADER

Указывает заголовочный файл для создания предварительно скомпилированного заголовка, чтобы увеличить скорость компиляции проекта. Предварительно скомпилированные заголовки в настоящее время поддерживаются только на некоторых платформах (Windows — все типы проектов MSVC, Apple — Xcode, Makefile, Unix — gcc 3.3 и выше).

PWD

Указывает полный путь к каталогу, содержащему текущий анализируемый файл. Это может быть полезно для ссылки на файлы внутри древовидной структуры исходных файлов при написании файлов проекта для поддержки теней сборки.

См. также _PRO_FILE_PWD_.

Примечание: Не пытайтесь перезаписать значение этой переменной.

OUT_PWD

Указывает полный путь к каталогу, куда qmake помещает сгенерированный файл Makefile.

Примечание: Не пытайтесь перезаписать значение этой переменной.

QM_FILES_RESOURCE_PREFIX

Указывает каталог в системе ресурсов, где файлы .qm будут доступны с помощью CONFIG += embed_translations.

По умолчанию :/i18n/.

QM_FILES_INSTALL_PATH

Указывает целевой каталог, в который будут установлены файлы .qm сгенерированные с помощью CONFIG += lrelease. Не оказывает никакого влияния, если задан CONFIG += embed_translations.

QML_IMPORT_PATH

Эта переменная используется только в Qt Creator. Подробнее см. Qt Creator: Использование QML-модулей с плагинами.

QMAKE

Указывает имя программы qmake само по себе и размещается в сгенерированных файлах Makefile. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKESPEC

Системная переменная, содержащая полный путь к конфигурации qmake, используемой при генерации файлов Makefile. Значение переменной вычисляется автоматически.

Примечание: Не пытайтесь перезаписать значение этой переменной.

QMAKE_AR_CMD

Примечание: Эта переменная используется только на платформах Unix.

Указывает команду для выполнения при создании общей библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_BUNDLE_DATA

Примечание: Эта переменная используется только на macOS, iOS, tvOS и watchOS.

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

Например, следующие строки добавляют path/to/header_one.h и path/to/header_two.h в группу, содержащую информацию о заголовках, поставляемых с фреймворком:

FRAMEWORK_HEADERS.version = Versions
FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h
FRAMEWORK_HEADERS.path = Headers
QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS

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

Пакеты библиотек создаются, когда опция lib_bundle добавляется к переменной CONFIG.

См. Примечания к платформе для получения дополнительной информации о создании пакетов библиотек.

QMAKE_BUNDLE_EXTENSION

Примечание: Эта переменная используется только на macOS, iOS, tvOS и watchOS.

Указывает расширение, которое должно использоваться для пакетов библиотек. Это позволяет создавать фреймворки с пользовательскими расширениями вместо стандартного расширения имени каталога .framework.

Например, следующее определение приведёт к фреймворку с расширением .myframework.

QMAKE_BUNDLE_EXTENSION = .myframework

QMAKE_CC

Указывает компилятор C, который будет использоваться при построении проектов, содержащих исходный код на C. Достаточно указать только имя файла исполняемого файла компилятора, при условии, что он находится в пути, указанном в переменной PATH, при обработке Makefile.

QMAKE_CFLAGS

Указывает флаги компилятора C для построения проекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения. Флаги, специфичные для режимов отладки и релизного, можно настроить, изменив переменные QMAKE_CFLAGS_DEBUG и QMAKE_CFLAGS_RELEASE соответственно.

QMAKE_CFLAGS_DEBUG

Указывает флаги компилятора C для сборок отладки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CFLAGS_RELEASE

Указывает флаги компилятора C для релизных сборок. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO

Указывает флаги компилятора C для релизных сборок, где force_debug_info установлено в CONFIG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CFLAGS_SHLIB

Примечание: Эта переменная используется только на платформах Unix.

Указывает флаги компилятора для создания динамической библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CFLAGS_THREAD

Указывает флаги компилятора для создания многопоточного приложения. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CFLAGS_WARN_OFF

Эта переменная используется только при установке параметра warn_off CONFIG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CFLAGS_WARN_ON

Эта переменная используется только при установке параметра warn_on CONFIG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CLEAN

Указывает список сгенерированных файлов (например, от moc и uic) и файлов объектов, которые должны быть удалены make clean.

QMAKE_CXX

Указывает компилятор C++, который будет использоваться при построении проектов, содержащих исходный код на C++. Достаточно указать только имя файла исполняемого файла компилятора, при условии, что он находится в пути, указанном в переменной PATH, при обработке Makefile.

QMAKE_CXXFLAGS

Указывает флаги компилятора C++ для построения проекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения. Флаги, специфичные для режимов отладки и релизного, можно настроить, изменив переменные QMAKE_CXXFLAGS_DEBUG и QMAKE_CXXFLAGS_RELEASE соответственно.

QMAKE_CXXFLAGS_DEBUG

Указывает флаги компилятора C++ для сборок отладки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CXXFLAGS_RELEASE

Указывает флаги компилятора C++ для релизных сборок. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO

Указывает флаги компилятора C++ для релизных сборок, где force_debug_info установлено в CONFIG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CXXFLAGS_SHLIB

Указывает флаги компилятора C++ для создания динамической библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CXXFLAGS_THREAD

Указывает флаги компилятора C++ для создания многопоточного приложения. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CXXFLAGS_WARN_OFF

Указывает флаги компилятора C++ для подавления предупреждений компилятора. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_CXXFLAGS_WARN_ON

Указывает флаги компилятора C++ для генерации предупреждений компилятора. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_DEVELOPMENT_TEAM

Примечание: Эта переменная используется только на macOS, iOS, tvOS и watchOS.

Идентификатор команды разработчиков для использования сертификатов и профилей provisioning.

QMAKE_DISTCLEAN

Указывает список файлов, которые должны быть удалены make distclean.

QMAKE_EXTENSION_SHLIB

Содержит расширение для динамических библиотек. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Примечание: Платформенно-специфичные переменные, изменяющие расширение, переопределяют содержимое этой переменной.

QMAKE_EXTENSION_STATICLIB

Содержит расширение для статических библиотек. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_EXT_MOC

Содержит расширение, используемое для включённых файлов moc.

См. также Расширения файлов.

QMAKE_EXT_UI

Содержит расширение, используемое для файлов интерфейсов Qt Designer.

См. также Расширения файлов.

QMAKE_EXT_PRL

Содержит расширение, используемое для созданных файлов PRL.

См. также Расширения файлов, Зависимости библиотек.

QMAKE_EXT_LEX

Содержит расширение, используемое для файлов, переданных Lex.

См. также Расширения файлов, LEXSOURCES.

QMAKE_EXT_YACC

Содержит расширение, используемое для файлов, переданных Yacc.

См. также Расширения файлов, YACCSOURCES.

QMAKE_EXT_OBJ

Содержит расширение, используемое для сгенерированных файлов объектов.

См. также Расширения файлов.

QMAKE_EXT_CPP

Содержит суффиксы для файлов, которые должны интерпретироваться как исходный код C++.

См. также Расширения файлов.

QMAKE_EXT_H

Содержит суффиксы для файлов, которые должны интерпретироваться как заголовочные файлы C.

См. также Расширения файлов.

QMAKE_EXTRA_COMPILERS

Указывает список дополнительных компиляторов или препроцессоров.

См. также Добавление компиляторов.

QMAKE_EXTRA_TARGETS

Указывает список дополнительных целей qmake.

См. также Добавление пользовательских целей.

QMAKE_FAILED_REQUIREMENTS

Содержит список невыполненных требований. Значение этой переменной устанавливается qmake и не может быть изменено.

См. также requires() и REQUIRES.

QMAKE_FRAMEWORK_BUNDLE_NAME

Примечание: Эта переменная используется только на macOS, iOS, tvOS и watchOS.

В проекте фреймворка эта переменная содержит имя, которое будет использоваться для созданного фреймворка.

По умолчанию эта переменная содержит то же значение, что и переменная TARGET.

См. Создание фреймворков для получения дополнительной информации о создании фреймворков и пакетов библиотек.

QMAKE_FRAMEWORK_VERSION

Примечание: Эта переменная используется только на macOS, iOS, tvOS и watchOS.

Для проектов, где целевой сборкой является фреймворк macOS, iOS, tvOS или watchOS, эта переменная используется для указания номера версии, который будет применён к созданному фреймворку.

По умолчанию эта переменная содержит то же значение, что и переменная VERSION.

См. Создание фреймворков для получения дополнительной информации о создании фреймворков.

QMAKE_HOST

Предоставляет информацию о хост-машине, на которой работает qmake. Например, вы можете получить архитектуру хост-машины из QMAKE_HOST.arch.

Ключи Значения
.arch Архитектура хоста
.os ОС хоста
.cpu_count Количество доступных процессоров
.name Имя компьютера хоста
.version Номер версии ОС хоста
.version_string Строка версии ОС хоста
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
    message("Host is 64bit")
    ...
}

QMAKE_INCDIR

Указывает список путей к системным заголовочным файлам, которые добавляются к INCLUDEPATH. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_INCDIR_EGL

Указывает расположение заголовочных файлов EGL, которые должны быть добавлены в INCLUDEPATH при построении целевого объекта с поддержкой OpenGL/ES или OpenVG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_INCDIR_OPENGL

Указывает расположение заголовочных файлов OpenGL, которые должны быть добавлены в INCLUDEPATH при построении целевого объекта с поддержкой OpenGL. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Если реализация OpenGL использует EGL (в большинстве систем OpenGL/ES), то также может потребоваться установить QMAKE_INCDIR_EGL.

QMAKE_INCDIR_OPENGL_ES2

Эта переменная указывает расположение заголовочных файлов OpenGL, которые должны быть добавлены в INCLUDEPATH при построении целевого объекта с поддержкой OpenGL ES 2.

Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Если реализация OpenGL использует EGL (в большинстве систем OpenGL/ES), то также может потребоваться установить QMAKE_INCDIR_EGL.

QMAKE_INCDIR_OPENVG

Указывает расположение заголовочных файлов OpenVG, которые должны быть добавлены в INCLUDEPATH при построении целевого объекта с поддержкой OpenVG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Если реализация OpenVG использует EGL, то также может потребоваться установить QMAKE_INCDIR_EGL.

QMAKE_INCDIR_X11

Примечание: Эта переменная используется только на платформах Unix.

Указывает расположение путей к заголовочным файлам X11, которые должны быть добавлены в INCLUDEPATH при построении целевого объекта X11. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_INFO_PLIST

Примечание: Эта переменная используется только на платформах macOS, iOS, tvOS и watchOS.

Указывает имя файла файла свойств, .plist, который вы хотите включить в пакет приложения macOS, iOS, tvOS и watchOS.

В файле .plist вы можете определить некоторые переменные, которые qmake заменит соответствующими значениями:

Заполнитель(ы) Эффект
${PRODUCT_BUNDLE_IDENTIFIER}, @BUNDLEIDENTIFIER@ Расширяется до строки идентификатора пакета целевого пакета, например: com.example.myapp. Определяется конкатенацией значений QMAKE_TARGET_BUNDLE_PREFIX и QMAKE_BUNDLE, разделенных точкой (.).
${EXECUTABLE_NAME}, @EXECUTABLE@, @LIBRARY@ Эквивалентно значению QMAKE_APPLICATION_BUNDLE_NAME, QMAKE_PLUGIN_BUNDLE_NAME или QMAKE_FRAMEWORK_BUNDLE_NAME (в зависимости от типа создаваемого целевого объекта), или TARGET, если ни одно из предыдущих значений не задано.
${ASSETCATALOG_COMPILER_APPICON_NAME}, @ICON@ Расширяется до значения ICON.
${QMAKE_PKGINFO_TYPEINFO}, @TYPEINFO@ Расширяется до значения QMAKE_PKGINFO_TYPEINFO.
${QMAKE_FULL_VERSION}, @FULL_VERSION@ Расширяется до значения VERSION, выраженного тремя компонентами версии.
${QMAKE_SHORT_VERSION}, @SHORT_VERSION@ Расширяется до значения VERSION, выраженного двумя компонентами версии.
${MACOSX_DEPLOYMENT_TARGET} Расширяется до значения QMAKE_MACOSX_DEPLOYMENT_TARGET.
${IPHONEOS_DEPLOYMENT_TARGET} Расширяется до значения QMAKE_IPHONEOS_DEPLOYMENT_TARGET.
${TVOS_DEPLOYMENT_TARGET} Расширяется до значения QMAKE_TVOS_DEPLOYMENT_TARGET.
${WATCHOS_DEPLOYMENT_TARGET} Расширяется до значения QMAKE_WATCHOS_DEPLOYMENT_TARGET.
${IOS_LAUNCH_SCREEN} Расширяется до значения QMAKE_IOS_LAUNCH_SCREEN.

Примечание: При использовании генератора Xcode вышеперечисленные заполнительные поля типа ${var} напрямую заменяются системой сборки Xcode и не обрабатываются qmake. Заполнительные поля типа @var@ работают только с генераторами Makefile qmake, а не с генератором Xcode.

Если вы создаёте сборку для iOS, и файл .plist содержит ключ NSPhotoLibraryUsageDescription, qmake включит дополнительный плагин в сборку, который добавляет поддержку доступа к фотографиям (например, в QFile/QFileDialog). Для получения дополнительной информации о данном ключе см. документацию к Info.plist от Apple.

Примечание: В большинстве случаев, значения по умолчанию Info.plist достаточно.

QMAKE_IOS_DEPLOYMENT_TARGET

Примечание: Эта переменная используется только на платформе iOS.

Указывает минимальную поддерживаемую версию iOS для приложения.

Для получения дополнительной информации см. Выражение поддерживаемых версий iOS.

QMAKE_IOS_LAUNCH_SCREEN

Примечание: Эта переменная используется только на платформе iOS.

Указывает экран запуска, используемый приложением. Если переменная не задана, используется экран запуска по умолчанию.

QMAKE_LFLAGS

Указывает общий набор флагов, передаваемых компоновщику. Если вам необходимо изменить флаги, используемые для конкретной платформы или типа проекта, используйте специализированные переменные для этой цели вместо этой переменной.

QMAKE_LFLAGS_CONSOLE

Примечание: Эта переменная используется только в Windows.

Указывает флаги компоновщика для создания консольных программ. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_DEBUG

Указывает флаги компоновщика для отладочных сборок. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_PLUGIN

Указывает флаги компоновщика для создания плагинов. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_RPATH

Примечание: Эта переменная используется только на платформах Unix.

Указывает флаги компоновщика, необходимые для использования значений из QMAKE_RPATHDIR.

Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_REL_RPATH

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

Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_REL_RPATH_BASE

Указывает строку, которую динамический компоновщик понимает как расположение исполняемого файла или библиотеки, ссылающегося на него.

Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_RPATHLINK

Указывает флаги компоновщика, необходимые для использования значений из QMAKE_RPATHLINKDIR.

Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_RELEASE

Указывает флаги компоновщика для релизных сборок. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO

Указывает флаги компоновщика для релизных сборок, где force_debug_info установлено в CONFIG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_APP

Указывает флаги компоновщика для создания приложений. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_SHLIB

Указывает флаги компоновщика, используемые для создания динамических библиотек. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_SONAME

Указывает флаги компоновщика для задания имени общих объектов, таких как .so или .dll. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_THREAD

Указывает флаги компоновщика для создания многопоточных проектов. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LFLAGS_WINDOWS

Примечание: Эта переменная используется только в Windows.

Указывает флаги компоновщика для создания проектов Windows GUI (то есть приложений, не являющихся консольными). Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LIBDIR

Указывает список путей поиска библиотек для всех проектов. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Для указания дополнительных путей поиска в файлах проекта используйте LIBS вот так:

LIBS += -L/path/to/libraries

QMAKE_LIBDIR_POST

Указывает список путей поиска системных библиотек для всех проектов. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LIBDIR_FLAGS

Примечание: Эта переменная используется только на платформах Unix.

Указывает расположение всех каталогов библиотек с префиксом -L. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LIBDIR_EGL

Указывает расположение каталога EGL-библиотеки, когда EGL используется с OpenGL/ES или OpenVG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LIBDIR_OPENGL

Указывает расположение каталога OpenGL-библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Если реализация OpenGL использует EGL (большинство систем OpenGL/ES), то может потребоваться также установить QMAKE_LIBDIR_EGL.

QMAKE_LIBDIR_OPENVG

Указывает расположение каталога OpenVG-библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Если реализация OpenVG использует EGL, то может потребоваться также установить QMAKE_LIBDIR_EGL.

QMAKE_LIBDIR_X11

Примечание: Эта переменная используется только на платформах Unix.

Указывает расположение каталога X11-библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LIBS

Указывает дополнительные библиотеки, которые каждый проект должен подключать. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Для указания библиотек в файле проекта используйте LIBS вместо этого.

QMAKE_LIBS_PRIVATE

Указывает дополнительные приватные библиотеки, которые каждый проект должен подключать. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Для указания приватных библиотек в файле проекта библиотеки используйте LIBS_PRIVATE вместо этого.

QMAKE_LIBS_EGL

Указывает все EGL-библиотеки при построении Qt с OpenGL/ES или OpenVG. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения. Обычное значение — -lEGL.

QMAKE_LIBS_OPENGL

Указывает все OpenGL-библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Если реализация OpenGL использует EGL (большинство систем OpenGL/ES), то может потребоваться также установить QMAKE_LIBS_EGL.

QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES2

Эти переменные указывают все OpenGL-библиотеки для OpenGL ES 1 и OpenGL ES 2.

Значение этих переменных обычно обрабатывается qmake или qmake.conf и редко требует изменения.

Если реализация OpenGL использует EGL (большинство систем OpenGL/ES), то может потребоваться также установить QMAKE_LIBS_EGL.

QMAKE_LIBS_OPENVG

Указывает все OpenVG-библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения. Обычное значение — -lOpenVG.

Некоторые движки OpenVG реализованы поверх OpenGL. Это будет обнаружено на стадии конфигурирования, и QMAKE_LIBS_OPENGL будет неявно добавлен к QMAKE_LIBS_OPENVG там, где подключаются OpenVG-библиотеки.

Если реализация OpenVG использует EGL, то может потребоваться также установить QMAKE_LIBS_EGL.

QMAKE_LIBS_THREAD

Примечание: Эта переменная используется только на платформах Unix.

Указывает все библиотеки, которые необходимо подключить при построении многопоточного целевого объекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LIBS_X11

Примечание: Эта переменная используется только на платформах Unix.

Указывает все X11-библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LIB_FLAG

Эта переменная не пуста, если указан шаблон lib. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LINK

Указывает компоновщик, который будет использоваться при построении проектов на основе приложений. Нужно указать только имя файла исполняемого файла компоновщика, при условии, что он находится в пути, указанном в переменной PATH при обработке Makefile. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LINK_SHLIB_CMD

Указывает команду для выполнения при создании динамической библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LN_SHLIB

Указывает команду для выполнения при создании ссылки на динамическую библиотеку. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_LRELEASE_FLAGS

Список дополнительных параметров, передаваемых в lrelease при включении через CONFIG += lrelease.

QMAKE_OBJECTIVE_CFLAGS

Указывает флаги компилятора Objective C/C++ для построения проекта. Эти флаги используются дополнительно к QMAKE_CFLAGS и QMAKE_CXXFLAGS.

QMAKE_POST_LINK

Указывает команду для выполнения после компоновки TARGET. Эта переменная обычно пуста, и поэтому ничего не выполняется.

Примечание: Эта переменная не действует на проекты Xcode.

QMAKE_PRE_LINK

Указывает команду для выполнения перед компоновкой TARGET. Эта переменная обычно пуста, и поэтому ничего не выполняется.

Примечание: Эта переменная не действует на проекты Xcode.

QMAKE_PROJECT_NAME

Примечание: Эта переменная используется только для файлов проекта Visual Studio.

Определяет имя проекта при генерации файлов проекта для IDE. Значение по умолчанию — имя целевого объекта. Значение этой переменной обычно обрабатывается qmake и редко требует изменения.

QMAKE_PROVISIONING_PROFILE

Примечание: Эта переменная используется только на macOS, iOS, tvOS и watchOS.

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

Примечание: Указание профиля профилирования отключает автоматическое управление подписанием.

QMAKE_MAC_SDK

Эта переменная используется на macOS при построении универсальных библиотек.

QMAKE_MACOSX_DEPLOYMENT_TARGET

Примечание: Эта переменная используется только на платформе macOS.

Указывает минимальную версию macOS, которую поддерживает приложение.

Дополнительную информацию см. в разделе macOS Version Dependencies.

QMAKE_MAKEFILE

Указывает имя создаваемого Makefile. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_QMAKE

Содержит абсолютный путь к исполняемому файлу qmake.

Примечание: Не пытайтесь перезаписать значение этой переменной.

QMAKE_RESOURCE_FLAGS

Эта переменная используется для настройки списка параметров, передаваемых в Resource Compiler в каждом из правил построения, где она используется. Например, следующая строка гарантирует, что параметры -threshold и -compress используются с определёнными значениями каждый раз, когда вызывается rcc.

QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9

QMAKE_RPATHDIR

Примечание: Эта переменная используется только на платформах Unix.

Указывает список путей к библиотекам, которые добавляются в исполняемый файл во время компоновки, чтобы эти пути предпочтительно просматривались во время выполнения.

Когда указываются относительные пути, qmake преобразует их в формат, понятный динамическому компоновщику, как относительные к расположению исполняемого файла или библиотеки, ссылающегося на него. Это поддерживается только на некоторых платформах (в настоящее время Linux и Darwin). Это можно определить, проверив, установлена ли переменная QMAKE_REL_RPATH_BASE.

QMAKE_RPATHLINKDIR

Указывает список путей к библиотекам для статического компоновщика, чтобы он искал неявные зависимости динамических библиотек. Более подробную информацию см. в руководстве по ld(1).

QMAKE_RUN_CC

Указывает отдельное правило для построения объекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_RUN_CC_IMP

Указывает отдельное правило, необходимое для построения объекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_RUN_CXX

Указывает отдельное правило, необходимое для построения объекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_RUN_CXX_IMP

Указывает отдельное правило, необходимое для построения объекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_SONAME_PREFIX

Если определено, значение этой переменной используется в качестве пути, добавляемого перед идентификатором SONAME созданной динамической библиотеки. SONAME — это идентификатор, который динамический линковщик впоследствии будет использовать для ссылки на библиотеку. В общем случае эта ссылка может быть именем библиотеки или полным путем к библиотеке. В macOS, iOS, tvOS и watchOS путь может быть указан относительно с помощью следующих плейсхолдеров:

Плейсхолдер Эффект
@rpath Расширяется до путей, определённых командами LC_RPATH mach-o в исполняемом файле текущего процесса или ссылающихся библиотеках.
@executable_path Расширяется до расположения исполняемого файла текущего процесса.
@loader_path Расширяется до расположения ссылающегося исполняемого файла или библиотеки.

В большинстве случаев использование @rpath является достаточным и рекомендуемым:

# <project root>/project.pro
QMAKE_SONAME_PREFIX = @rpath

Однако префикс также может быть указан с помощью различных плейсхолдеров или абсолютного пути, например, одного из следующих:

# <project root>/project.pro
QMAKE_SONAME_PREFIX = @executable_path/../Frameworks
QMAKE_SONAME_PREFIX = @loader_path/Frameworks
QMAKE_SONAME_PREFIX = /Library/Frameworks

Для получения дополнительной информации см. документацию dyld по именам установки динамических библиотек.

QMAKE_TARGET

Указывает имя целевого проекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

QMAKE_TARGET_COMPANY

Только Windows. Указывает компанию для целевого проекта; используется для указания названия компании в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_TARGET_DESCRIPTION

Только Windows. Указывает описание для целевого проекта; используется для указания описания в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_TARGET_COPYRIGHT

Только Windows. Указывает информацию об авторском праве для целевого проекта; используется для указания информации об авторском праве в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_TARGET_PRODUCT

Только Windows. Указывает продукт для целевого проекта; используется для указания продукта в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_TARGET_ORIGINAL_FILENAME

Только Windows. Указывает исходное имя файла для целевого проекта; используется для указания исходного имени файла в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_TARGET_INTERNALNAME

Только Windows. Указывает внутреннее имя для целевого проекта; используется для указания внутреннего имени в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_TARGET_COMMENTS

Только Windows. Указывает комментарии для целевого проекта; используются для указания комментариев в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_TARGET_TRADEMARKS

Только Windows. Указывает информацию о товарных знаках для целевого проекта; используется для указания информации о товарных знаках в свойствах приложения. Используется только в том случае, если переменная VERSION или RC_ICONS установлена, а переменные RC_FILE и RES_FILE не установлены.

QMAKE_MANIFEST

Только Windows. Указывает файл манифеста для целевого проекта. Используется только в том случае, если переменные RC_FILE и RES_FILE не установлены. Не забудьте удалить embed_manifest_exe и embed_manifest_dll из переменной CONFIG, иначе это приведёт к конфликту с созданным компилятором.

QMAKE_TVOS_DEPLOYMENT_TARGET

Примечание: Эта переменная используется только на платформе tvOS.

Указывает минимальную поддерживаемую версию tvOS.

Для получения дополнительной информации см. Выражение поддерживаемых версий iOS.

QMAKE_UIC_FLAGS

Эта переменная используется для настройки списка опций, передаваемых компилятору пользовательского интерфейса (User Interface Compiler) в каждом правиле построения, где она используется.

QMAKE_WATCHOS_DEPLOYMENT_TARGET

Примечание: Эта переменная используется только на платформе watchOS.

Указывает минимальную поддерживаемую версию watchOS.

Для получения дополнительной информации см. Выражение поддерживаемых версий iOS.

QML_IMPORT_MAJOR_VERSION

Указывает основную версию, используемую для автоматической регистрации типов QML. Для получения дополнительной информации см. Определение типов QML из C++.

QML_IMPORT_MINOR_VERSION

При автоматической регистрации типов QML, определённых в C++, регистрируется дополнительная версия модуля с использованием этой второстепенной версии. В общем случае второстепенные версии, подлежащие регистрации, выведены из метаобъектов.

Вы можете использовать эту переменную, если метаобъекты не изменились, но вы всё ещё хотите импортировать модуль QML с более новым номером второстепенной версии. Например, метаобъекты MyModule находятся на уровне 1.1, но вы хотите импортировать модуль как 1.3.

QML_IMPORT_VERSION

Указывает QML_IMPORT_MAJOR_VERSION и QML_IMPORT_MINOR_VERSION в виде строки версии <major>.<minor>.

QML_IMPORT_NAME

Указывает имя модуля, которое будет использоваться для автоматической регистрации типов QML. Для получения дополнительной информации см. Определение типов QML из C++.

QML_FOREIGN_METATYPES

Указывает дополнительные JSON-файлы с метатипами, которые следует учитывать при генерации файлов qmltypes. Используйте это, когда внешние библиотеки предоставляют типы, которые экспонируются в QML, либо напрямую, либо как базовые типы или свойства других типов. Типы Qt будут автоматически учитываться и не должны добавляться сюда.

QT

Указывает модули Qt, используемые в вашем проекте. Значение для добавления для каждого модуля см. в документации модуля.

На уровне реализации C++ использование модуля Qt делает его заголовки доступными для включения и вызывает его подключение к двоичному файлу.

По умолчанию QT содержит core и gui, гарантируя, что стандартные приложения графического интерфейса могут быть построены без дополнительной настройки.

Если вы хотите создать проект без модуля Qt GUI, вам нужно исключить значение gui с оператором "-=". Следующая строка приведет к созданию минимального проекта Qt:

QT -= gui # Only the core module is used.

Если ваш проект является плагином Qt Designer, используйте значение uiplugin для указания того, что проект должен быть построен как библиотека, но с поддержкой определённых плагинов для Qt Designer. Для получения дополнительной информации см. Разработка и установка плагина.

QTPLUGIN

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

qmake автоматически добавляет плагины, обычно необходимые для используемых модулей Qt (см. QT). Значения по умолчанию настроены для оптимального опыта «из коробки». См. Статические плагины для списка доступных плагинов и способов переопределения автоматического подключения.

Эта переменная в настоящее время не оказывает влияния при подключении к общим/динамическим сборкам Qt или при подключении библиотек. Она может быть использована для развертывания динамических плагинов в дальнейшем.

QT_VERSION

Содержит текущую версию Qt.

QT_MAJOR_VERSION

Содержит текущую основную версию Qt.

QT_MINOR_VERSION

Содержит текущую второстепенную версию Qt.

QT_PATCH_VERSION

Содержит текущую версию исправления Qt.

RC_FILE

Только для Windows. Указывает имя файла ресурсов Windows (.rc) для целевого объекта. См. Добавление файлов ресурсов Windows.

RC_CODEPAGE

Только для Windows. Указывает кодовую страницу, которая должна быть указана в сгенерированном файле .rc. Это используется только в том случае, если переменная VERSION или RC_ICONS задана, а переменные RC_FILE и RES_FILE не заданы.

RC_DEFINES

Только для Windows. qmake добавляет значения этой переменной в качестве макросов предварительной обработки RC (/d опция). Если эта переменная не задана, используется переменная DEFINES.

RC_DEFINES += USE_MY_STUFF

RC_ICONS

Только для Windows. Указывает значки, которые должны быть включены в сгенерированный файл .rc. Это используется только в том случае, если переменные RC_FILE и RES_FILE не заданы. Более подробную информацию о генерации файлов .rc можно найти в Примечаниях к платформе.

RC_LANG

Только для Windows. Указывает язык, который должен быть указан в сгенерированном файле .rc. Это используется только в том случае, если переменная VERSION или RC_ICONS задана, а переменные RC_FILE и RES_FILE не заданы.

RC_INCLUDEPATH

Указывает пути включения, которые передаются Windows Resource Compiler.

RCC_DIR

Указывает каталог для выходных файлов Qt Resource Compiler.

Например:

unix:RCC_DIR = ../myproject/resources
win32:RCC_DIR = c:/myproject/resources

REQUIRES

Указывает список значений, которые оцениваются как условия. Если какое-либо из условий ложно, qmake пропускает этот проект (и его SUBDIRS) при построении.

Примечание: Мы рекомендуем использовать функцию requires() вместо этого, если вы хотите пропускать проекты или подпроекты при построении.

RESOURCES

Указывает имя файлов коллекций ресурсов (qrc) для целевого объекта. Более подробную информацию о файлах коллекций ресурсов см. в Системе ресурсов Qt.

RES_FILE

Только для Windows. Указывает имя выходного файла компилятора ресурсов Windows для данного целевого объекта. См. RC_FILE и Добавление файлов ресурсов Windows.

Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

SOURCES

Указывает имена всех исходных файлов в проекте.

Например:

SOURCES = myclass.cpp \
      login.cpp \
      mainwindow.cpp

См. также HEADERS.

SUBDIRS

Эта переменная, при использовании с subdirs шаблоном, указывает имена всех подкаталогов или файлов проектов, которые содержат части проекта, которые необходимо построить. Каждый подкаталог, указанный с помощью этой переменной, должен содержать свой собственный файл проекта.

Рекомендуется, чтобы файл проекта в каждом подкаталоге имел такое же базовое имя, как и сам подкаталог, так как это позволяет опустить имя файла. Например, если подкаталог называется myapp, файл проекта в этом каталоге должен называться myapp.pro.

В качестве альтернативы можно указать относительный путь к файлу .pro в любом каталоге. Настоятельно рекомендуется указывать только пути в родительском каталоге текущего проекта или его подкаталогах.

Например:

SUBDIRS = kernel \
          tools \
          myapp

Если вам нужно убедиться, что подкаталоги строятся в определенном порядке, используйте модификатор .depends на соответствующих SUBDIRS элементах.

Например:

SUBDIRS += my_executable my_library tests doc
my_executable.depends = my_library
tests.depends = my_executable

Приведенная выше конфигурация гарантирует, что my_library строится до my_executable, а my_executable строится до tests Однако doc может строиться параллельно с другими подкаталогами, тем самым ускоряя процесс сборки.

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

Примечание: Не рекомендуется использовать CONFIG += ordered, так как это может замедлить многопоточную сборку. В отличие от приведенного выше примера, вся сборка будет происходить последовательно, даже если у них нет зависимостей.

Помимо определения порядка сборки, можно изменить поведение по умолчанию SUBDIRS, добавив дополнительные модификаторы к SUBDIRS элементам. Поддерживаемые модификаторы:

Модификатор Эффект
.subdir Используйте указанный подкаталог вместо значения SUBDIRS
.file Явно укажите файл подпроекта pro. Не может быть использован совместно с модификатором .subdir
.depends Этот подпроект зависит от указанных подпроектов.
.makefile Файл makefile подпроекта. Доступно только на платформах, использующих makefile.
.target Базовая строка, используемая для целей makefile, связанных с этим подпроектом. Доступно только на платформах, использующих makefile.

Например, определите два подкаталога, оба из которых находятся в другом каталоге, чем значение SUBDIRS и один из подкаталогов должен быть построен перед другим:

SUBDIRS += my_executable my_library
my_executable.subdir = app
my_executable.depends = my_library
my_library.subdir = lib

TARGET

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

Например:

TEMPLATE = app
TARGET = myapp
SOURCES = main.cpp

Файл проекта выше создаст исполняемый файл, названный myapp на Unix и myapp.exe на Windows.

TARGET_EXT

Указывает расширение TARGET. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

TARGET_x

Указывает расширение TARGET с номером основной версии. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

TARGET_x.y.z

Указывает расширение TARGET с номером версии. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.

TEMPLATE

Указывает имя шаблона, используемого при генерации проекта. Разрешённые значения:

Вариант Описание
app Создает Makefile для построения приложений (по умолчанию). См. Построение приложения для получения дополнительной информации.
lib Создает Makefile для построения библиотек. См. Построение библиотеки для получения дополнительной информации.
subdirs Создаёт Makefile для построения целевых объектов в подкаталогах. Подкаталоги указываются с помощью переменной SUBDIRS.
aux Создаёт Makefile для ничего не строить. Используйте это, если для создания целевого объекта не нужен компилятор; например, если ваш проект написан на интерпретируемом языке.

Примечание: Этот тип шаблона доступен только для генераторов, основанных на Makefile. В частности, он не будет работать с генераторами vcxproj и Xcode.

vcapp Только для Windows. Создаёт проект приложения для Visual Studio. См. Создание файлов проектов Visual Studio для получения дополнительной информации.
vclib Только для Windows. Создаёт проект библиотеки для Visual Studio.

Например:

TEMPLATE = lib
SOURCES = main.cpp
TARGET = mylib

Шаблон может быть переопределён, указав новый тип шаблона с помощью -t параметра командной строки. Это переопределяет тип шаблона после обработки файла .pro. С файлами .pro, которые используют тип шаблона для определения способа построения проекта, необходимо объявлять TEMPLATE в командной строке, а не использовать -t опцию.

TRANSLATIONS

Указывает список файлов переводов (.ts), которые содержат переводы текста пользовательского интерфейса на языки, отличные от родного.

Файлы переводов в TRANSLATIONS будут обрабатываться как инструментом lrelease, так и инструментом Using lupdate. Используйте EXTRA_TRANSLATIONS, если вы хотите, чтобы только lrelease обрабатывал файл.

Вы можете использовать CONFIG += lrelease для автоматического компиляции файлов во время построения, и CONFIG += lrelease embed_translations для их доступности в Системе ресурсов Qt.

См. Руководство Qt Linguist для получения дополнительной информации об интернационализации (i18n) и локализации (l10n) с Qt.

UI_DIR

Указывает каталог, где будут размещены все промежуточные файлы из uic.

Например:

unix:UI_DIR = ../myproject/ui
win32:UI_DIR = c:/myproject/ui

VERSION

Указывает номер версии приложения, если задан app шаблон, или номер версии библиотеки, если задан lib шаблон.

В Windows, автоматически генерируется файл .rc, если переменные RC_FILE и RES_FILE не заданы. Сгенерированный файл .rc будет содержать записи FILEVERSION и PRODUCTVERSION, заполненные значениями: мажорная, минорная, исправленная версии и номер сборки. Каждое число должно быть в диапазоне от 0 до 65535. Более подробную информацию о генерации файлов .rc можно найти в Приммечаниях к платформе.

Например:

win32:VERSION = 1.2.3.4 # major.minor.patch.build
else:VERSION = 1.2.3    # major.minor.patch

VERSION_PE_HEADER

Только для Windows. Указывает номер версии, который компоновщик Windows помещает в заголовок файла .exe или .dll с помощью опции /VERSION. Можно указать только мажорную и минорную версию. Если VERSION_PE_HEADER не задано, используется мажорная и минорная версия из VERSION (если задана).

VERSION_PE_HEADER = 1.2

VER_MAJ

Указывает номер мажорной версии библиотеки, если указан lib шаблон.

VER_MIN

Указывает номер минорной версии библиотеки, если указан lib шаблон.

VER_PAT

Указывает номер исправленной версии библиотеки, если указан lib шаблон.

VPATH

Указывает qmake, где искать файлы, которые она не может открыть. Например, если qmake ищет SOURCES, и находит запись, которую не может открыть, она просматривает весь список VPATH, чтобы найти файл самостоятельно.

См. также DEPENDPATH.

WINDOWS_TARGET_PLATFORM_VERSION

Указывает целевую версию Windows; это соответствует тегу WindowsTargetPlatformVersion в файлах vcxproj.

В настольных приложениях Windows значение по умолчанию — значение переменной окружения WindowsSDKVersion.

WINDOWS_TARGET_PLATFORM_MIN_VERSION

Указывает минимальную версию целевой платформы Windows; это соответствует тегу WindowsTargetPlatformMinVersion в файлах vcxproj.

Значение по умолчанию — WINDOWS_TARGET_PLATFORM_VERSION.

YACCSOURCES

Указывает список файлов исходного кода Yacc, которые должны быть включены в проект. Все зависимости, заголовки и исходные файлы будут автоматически включены в проект.

Например:

YACCSOURCES = moc.y

_PRO_FILE_

Содержит путь к используемому файлу проекта.

Например, следующая строка выводит расположение файла проекта в консоль:

message($$_PRO_FILE_)

Примечание: Не пытайтесь перезаписывать значение этой переменной.

_PRO_FILE_PWD_

Содержит путь к каталогу, содержащему используемый файл проекта.

Например, следующая строка выводит расположение каталога, содержащего файл проекта, в консоль:

message($$_PRO_FILE_PWD_)

Примечание: Не пытайтесь перезаписывать значение этой переменной.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qmake-variable-reference.html

Spec-Zone.ru

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