Переменные
Фундаментальное поведение qmake определяется объявлением переменных, которые определяют процесс сборки каждого проекта. Некоторые из них объявляют ресурсы, такие как заголовки и исходные файлы, общие для каждой платформы. Другие используются для настройки поведения компиляторов и линковщиков на конкретных платформах.
Платформенно-специфические переменные следуют шаблону именования переменных, которые они расширяют или изменяют, но включают название соответствующей платформы в их имя. Например, makespec может использовать QMAKE_LIBS для указания списка библиотек, от которых зависит каждый проект, и QMAKE_LIBS_X11 будет использоваться для расширения этого списка.
ANDROID_ABI
Примечание: Эта переменная применяется только к целям Android.
Указывает ABI целевой платформы Android. Допустимые значения: armeabi-v7a, arm64-v8a, x86, x86_64.
ANDROID_ABIS
Примечание: Эта переменная применяется только к целям Android.
Указывает список ABI целевых платформ Android. Допустимые значения: armeabi-v7a, arm64-v8a, x86, x86_64.
Вы можете предоставить ABI в качестве аргумента qmake:
qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"
Или непосредственно в файле .pro:
ANDROID_ABIS = \
armeabi-v7a \
arm64-v8a ANDROID_API_VERSION
Примечание: Эта переменная применяется только к целям Android.
Указывает номер уровня API Android. Для получения дополнительной информации см. Номера сборки Android.
ANDROID_BUNDLED_JAR_DEPENDENCIES
Примечание: Эта переменная применяется только к модулям Android.
Это полезно при написании модуля Qt. Она указывает список предварительно собранных зависимостей, используемых модулем в формате .jar, например:
ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/QtAndroid.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.
ANDROID_EXTRA_PLUGINS
Примечание: Эта переменная применяется только к целям Android.
Указывает различные ресурсы, которые ваше приложение должно объединять, но которые не могут быть переданы через систему ресурсов, такие как плагины QML. С помощью этой переменной androiddeployqt обеспечит правильное упаковывание и развертывание всего.
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 21.
ANDROID_PACKAGE_SOURCE_DIR
Примечание: Эта переменная применяется только к целям Android.
Указывает путь для пользовательской шаблона пакета Android. Шаблон пакета Android содержит:
- Файл AndroidManifest.xml
- Файл build.gradle и другие скрипты Gradle
- Файл res/values/libs.xml
Путь, указанный этой переменной, может содержать пользовательские классы Java в каталоге src. По умолчанию инструмент androiddeployqt копирует шаблон пакета из пути установки Qt для Android в каталог сборки вашего проекта, а затем копирует содержимое пути, указанного этой переменной, поверх него, перезаписывая любые существующие файлы. Например, вы можете создать пользовательский AndroidManifest.xml для вашего приложения, а затем поместить его непосредственно в каталог, указанный этой переменной.
ANDROID_PERMISSIONS
Примечание: Эта переменная применяется только к модулям Android.
Указывает список разрешений модуля:
ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION
Для получения дополнительной информации, см. Документацию Android <uses-permission>.
ANDROID_TARGET_SDK_VERSION
Примечание: Эта переменная применяется только к целям Android.
Указывает целевой уровень API Android для проекта. По умолчанию эта переменная установлена в уровень API 28.
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 только) | Включает поддержку использования прекомпилированных заголовков для файлов C. |
| warn_on | Компилятор должен выводить как можно больше предупреждений. Если также задан warn_off, то действует последнее значение. |
| warn_off | Компилятор должен выводить как можно меньше предупреждений. |
| exceptions | Поддержка исключений включена. Установлено по умолчанию. |
| exceptions_off | Поддержка исключений отключена. |
| ltcg | Включено создание кода во время компоновки. По умолчанию эта опция выключена. |
| rtti | Поддержка RTTI включена. По умолчанию используется значение по умолчанию компилятора. |
| rtti_off | Поддержка RTTI отключена. По умолчанию используется значение по умолчанию компилятора. |
| stl | Поддержка STL включена. По умолчанию используется значение по умолчанию компилятора. |
| stl_off | Поддержка STL отключена. По умолчанию используется значение по умолчанию компилятора. |
| thread | Поддержка потоков включена. Включается, когда CONFIG включает qt, что является значением по умолчанию. |
| 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 | Создать файл libtool .la для текущей библиотеки. |
| create_pc | Создать файл pkg-config .pc для текущей библиотеки. |
| no_batch | Только NMake: Отключить генерацию командных файлов NMake или правил вывода. |
| skip_target_version_ext | Подавить автоматическое добавление номера версии к имени файла DLL в Windows. |
| suppress_vcproj_warnings | Подавить предупреждения генератора проекта VS. |
| windeployqt | Автоматически вызвать windeployqt после компоновки и добавить результат в качестве элементов развертывания. |
| dont_recurse | Подавить рекурсию qmake для текущего подпроекта. |
| no_include_pwd | Не добавлять текущий каталог в INCLUDEPATHS. |
При использовании опции 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
} DEFINES
qmake добавляет значения этой переменной как макросы препроцессора компилятора C (-D).
Например:
DEFINES += USE_MY_STUFF
DEFINES_DEBUG
Указывает макросы препроцессора для конфигурации отладки. Значения этой переменной добавляются к DEFINES после загрузки проекта. Обычно эта переменная устанавливается в qmake.conf и редко требует изменения.
Эта переменная была введена в Qt 5.13.2.
DEFINES_RELEASE
Указывает макросы препроцессора для конфигурации выпуска. Значения этой переменной добавляются к DEFINES после загрузки проекта. Обычно эта переменная устанавливается в qmake.conf и редко требует изменения.
Примечание: Для MSVC mkspecs эта переменная по умолчанию содержит значение NDEBUG.
Эта переменная была введена в Qt 5.13.2.
DEF_FILE
Примечание: Эта переменная используется только в Windows при использовании шаблона app.
Указывает файл .def для включения в проект.
DEPENDPATH
Указывает список директорий, которые qmake должен просканировать, чтобы определить зависимости. Эта переменная используется, когда qmake анализирует заголовочные файлы, которые вы #include в своём исходном коде.
DESTDIR
Указывает, куда поместить файл цели.
Например:
DESTDIR = ../../lib
Примечание: Список поддерживаемых символов может зависеть от используемого инструмента сборки. В частности, скобки не работают с make.
DISTFILES
Указывает список файлов, которые необходимо включить в целевой объект dist. Эта функция поддерживается только спецификациями UnixMake.
Например:
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 и игнорируется в противном случае.
HEADERS
Определяет заголовочные файлы для проекта.
qmake автоматически определяет, требуется ли moc для классов в заголовочных файлах и добавляет соответствующие зависимости и файлы в проект для генерации и связывания файлов moc.
Например:
HEADERS = myclass.h \
login.h \
mainwindow.h См. также SOURCES.
ICON
Эта переменная используется только в Mac OS для установки значка приложения. Пожалуйста, обратитесь к документации значка приложения для получения дополнительной информации.
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"
INSTALLS
Указывает список ресурсов, которые будут установлены при выполнении 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.
Идентификатор команды разработчиков для использования сертификатов и профилей подписи.
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. |
Примечание: При использовании генератора Xcode вышеупомянутые плейсхолдеры типа ${var} непосредственно заменяются системой сборки Xcode и не обрабатываются qmake. Плейсхолдеры типа @var@ работают только с генераторами qmake Makefile, а не с генератором Xcode.
Если вы создаете приложение для iOS, и файл .plist содержит ключ NSPhotoLibraryUsageDescription, qmake включит дополнительный плагин в сборку, который добавляет поддержку доступа к фотографиям (например, к QFile/QFileDialog). Для получения дополнительной информации об этом ключе обратитесь к документации Apple по Info.plist.
Примечание: В большинстве случаев значение по умолчанию Info.plist является достаточным.
QMAKE_IOS_DEPLOYMENT_TARGET
Примечание: Эта переменная используется только на платформе iOS.
Указывает минимальную поддерживаемую версию iOS для приложения.
Для получения дополнительной информации см. Выражение поддерживаемых версий 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 действительного профиля provisioning. Используется в сочетании с QMAKE_DEVELOPMENT_TEAM для указания профиля provisioning.
Примечание: Указание профиля provisioning отключает автоматически управляемую подпись.
QMAKE_MAC_SDK
Эта переменная используется на macOS при создании универсальных бинарных файлов.
QMAKE_MACOSX_DEPLOYMENT_TARGET
Примечание: Эта переменная используется только на платформе macOS.
Указывает минимальную версию macOS, с которой совместимо приложение.
Для получения дополнительной информации см. Зависимости от версии macOS.
QMAKE_MAKEFILE
Указывает имя создаваемого Makefile. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
QMAKE_QMAKE
Содержит абсолютный путь к исполняемому файлу qmake.
Примечание: Не пытайтесь перезаписывать значение этой переменной.
QMAKE_RESOURCE_FLAGS
Эта переменная используется для настройки списка параметров, передаваемых в компилятор ресурсов в каждом из правил сборки, где она используется. Например, следующая строка гарантирует, что параметры -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_MANIFEST
Только Windows. Указывает файл манифеста для целевого проекта. Это используется только в том случае, если переменные RC_FILE и RES_FILE не заданы. Не забудьте удалить embed_manifest_exe и embed_manifest_dll из переменной CONFIG, иначе это повлияет на сгенерированный компилятором.
QMAKE_TVOS_DEPLOYMENT_TARGET
Примечание: Эта переменная используется только на платформе tvOS.
Указывает минимальную поддерживаемую версию tvOS для приложения.
Для получения дополнительной информации см. Выражение поддерживаемых версий iOS.
QMAKE_UIC_FLAGS
Эта переменная используется для настройки списка опций, передаваемых в Компилятор пользовательского интерфейса в каждом правиле сборки, где она используется.
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.
RCC_DIR
Указывает директорию для файлов вывода Qt Resource Compiler.
Например:
unix:RCC_DIR = ../myproject/resources win32:RCC_DIR = c:/myproject/resources
REQUIRES
Указывает список значений, которые оцениваются как условия. Если любое из условий ложно, qmake пропускает этот проект (и его SUBDIRS) при сборке.
Примечание: Мы рекомендуем использовать функцию requires() вместо этого, если вы хотите пропустить проекты или подпроекты при сборке.
РЕСУРСЫ
Указывает имя файлов ресурсов (qrc) для целевого объекта. Дополнительную информацию о файлах ресурсов см. в Системе ресурсов Qt.
Ф АЙЛ_РЕСУРСОВ
Только Windows. Указывает имя выходного файла компилятора ресурсов Windows для данного целевого объекта. См. RC_ФАЙЛ и Добавление файлов ресурсов Windows.
Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
ИСТОЧНИКИ
Указывает имена всех исходных файлов в проекте.
Например:
SOURCES = myclass.cpp \
login.cpp \
mainwindow.cpp См. также HEADERS.
ПОДДИРЕКТОРИИ
Эта переменная, когда используется с 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 подпроекта. Доступен только на платформах, использующих makefiles. |
| .target | Базовая строка, используемая для целей makefile, связанных с этим подпроектом. Доступен только на платформах, использующих makefiles. |
Например, определите две поддиректории, обе из которых находятся в другой директории, чем значение SUBDIRS , и одна из поддиректорий должна быть построена до другой:
SUBDIRS += my_executable my_library my_executable.subdir = app my_executable.depends = my_library my_library.subdir = lib
ЦЕЛЕВОЙ_ОБЪЕКТ
Указывает имя целевого файла. По умолчанию содержит базовое имя файла проекта.
Например:
TEMPLATE = app TARGET = myapp SOURCES = main.cpp
Файл проекта выше создаст исполняемый файл, названный myapp на Unix и myapp.exe на Windows.
РАСШИРЕНИЕ_ЦЕЛЕВОГО_ОБЪЕКТА
Указывает расширение TARGET. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
ЦЕЛЕВОЙ_ОБЪЕКТ_x
Указывает расширение TARGET с номером основной версии. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
ЦЕЛЕВОЙ_ОБЪЕКТ_x.y.z
Указывает расширение TARGET с номером версии. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
ШАБЛОН
Указывает имя шаблона, который следует использовать при генерации проекта. Допустимые значения:
| Вариант | Описание |
|---|---|
| приложение | Создаёт Makefile для построения приложений (по умолчанию). См. Построение приложения для получения дополнительной информации. |
| библиотека | Создаёт Makefile для построения библиотек. См. Построение библиотеки для получения дополнительной информации. |
| поддиректории | Создаёт Makefile для построения целевых объектов в поддиректориях. Поддиректории указываются с помощью переменной ПОДДИРЕКТОРИИ. |
| дополнительные | Создаёт 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 вариант.
ПЕРЕВОДЫ
Указывает список файлов переводов (.ts), содержащих переводы текстов пользовательского интерфейса на языки, отличные от родного.
Файлы переводов в TRANSLATIONS будут обрабатываться как инструментом lrelease, так и lupdate. Используйте EXTRA_TRANSLATIONS, если вы хотите, чтобы только lrelease обрабатывал файл.
Вы можете использовать CONFIG += lrelease для автоматической компиляции файлов во время сборки и CONFIG += lrelease embed_translations для их доступности в Системе ресурсов Qt.
См. Руководство Qt Linguist для получения дополнительной информации об интернационализации (i18n) и локализации (l10n) с Qt.
ДИРЕКТОРИЯ_UI
Указывает директорию, в которой должны размещаться все промежуточные файлы из uic.
Например:
unix:UI_DIR = ../myproject/ui win32:UI_DIR = c:/myproject/ui
ВЕРСИЯ
Указывает номер версии приложения, если указан app шаблон, или номер версии библиотеки, если указан lib шаблон.
В Windows, запускает автоматическую генерацию файла .rc, если переменные RC_ФАЙЛ и Ф АЙЛ_РЕСУРСОВ не заданы. Сгенерированный файл .rc будет содержать записи FILEVERSION и PRODUCTVERSION, заполненные значениями основной, дополнительной, патчевой версии и номер сборки. Каждое число должно быть в диапазоне от 0 до 65535. Более подробную информацию о генерации файлов .rc можно найти в Заметках к платформе.
Например:
win32:VERSION = 1.2.3.4 # major.minor.patch.build else:VERSION = 1.2.3 # major.minor.patch
ЗАГОЛОВОК_ВЕРСИИ_PE
Только Windows. Указывает номер версии, который компоновщик Windows помещает в заголовок файла .exe или .dll с помощью параметра /VERSION. Можно указать только основную и дополнительную версии. Если ЗАГОЛОВОК_ВЕРСИИ_PE не задан, используется основная и дополнительная версия из ВЕРСИЯ (если задана).
VERSION_PE_HEADER = 1.2
ОСН_ВЕРСИЯ
Указывает номер основной версии библиотеки, если указан lib шаблон.
ДОПОЛН_ВЕРСИЯ
Указывает номер дополнительной версии библиотеки, если указан lib шаблон.
ПАТЧ_ВЕРСИЯ
Указывает номер патчевой версии библиотеки, если указан lib шаблон.
VPATH
Указывает qmake, где искать файлы, которые она не может открыть. Например, если qmake ищет SOURCES, и находит запись, которую не может открыть, то она ищет файл по всему списку VPATH.
См. также DEPENDPATH.
ВЕРСИЯ_ПЛАТФОРМЫ_WINDOWS
Указывает целевую версию Windows; это соответствует тегу WindowsTargetPlatformVersion в файлах vcxproj.
На настольных Windows значение по умолчанию — значение переменной окружения WindowsSDKVersion.
На Universal Windows Platform (UWP) значение по умолчанию — значение переменной окружения UCRTVERSION.
МИНИМАЛЬНАЯ_ВЕРСИЯ_ПЛАТФОРМЫ_WINDOWS
Указывает минимальную версию целевой платформы Windows; это соответствует тегу WindowsTargetPlatformMinVersion в файлах vcxproj.
По умолчанию WINDOWS_TARGET_PLATFORM_VERSION.
MANIFEST_WINRT
Указывает параметры, которые должны быть переданы в манифест приложения на UWP. Допустимые значения:
| Элемент | Описание |
|---|---|
| architecture | Целевая архитектура. По умолчанию VCPROJ_ARCH. |
| background | Цвет фона плитки. По умолчанию green. |
| capabilities | Указывает возможности для добавления в список возможностей. |
| capabilities_device | Указывает возможности устройства для добавления в список возможностей (местоположение, веб-камера и так далее). |
| CONFIG | Указывает дополнительные флаги для обработки входного файла манифеста. В настоящее время единственный доступный параметр — verbatim. |
| default_language | Код языка по умолчанию приложения. По умолчанию "en". |
| dependencies | Указывает зависимости, необходимые для пакета. |
| description | Описание пакета. По умолчанию Default package description. |
| foreground | Цвет переднего плана плитки (текста). По умолчанию light. |
| iconic_tile_icon | Файл изображения для значка шаблона плитки iconic. По умолчанию предоставляется mkspec. |
| iconic_tile_small | Файл изображения для логотипа небольшого шаблона плитки iconic. По умолчанию предоставляется mkspec. |
| identity | Уникальный идентификатор приложения. По умолчанию используется существующий сгенерированный UUID манифеста или генерируется новый UUID, если он отсутствует. |
| logo_30x30 | Файл изображения логотипа размером 30x30 пикселей. |
| logo_41x41 | Файл изображения логотипа размером 41x41 пикселей. Этот параметр устарел. |
| logo_70x70 | Файл изображения логотипа размером 70x70 пикселей. |
| logo_71x71 | Файл изображения логотипа размером 71x71 пикселей. Этот параметр устарел. |
| logo_150x150 | Файл изображения логотипа размером 150x150 пикселей. Поддерживается на всех платформах приложений Windows Store. |
| logo_310x150 | Файл изображения логотипа размером 310x150 пикселей. Поддерживается на всех платформах приложений Windows Store. |
| logo_310x310 | Файл изображения логотипа размером 310x310 пикселей. Поддерживается на всех платформах приложений Windows Store. |
| logo_620x300 | Файл изображения экрана загрузки размером 620x300 пикселей. |
| logo_480x800 | Файл изображения экрана загрузки размером 480x800 пикселей. Этот параметр устарел. |
| logo_large | Файл изображения большого логотипа. Размер должен быть 150x150 пикселей. Поддерживается на всех платформах приложений Windows Store. По умолчанию предоставляется mkspec. |
| logo_medium | Файл изображения среднего логотипа. Размер изображения должен быть 70x70 пикселей. По умолчанию предоставляется mkspec. |
| logo_small | Файл изображения небольшого логотипа. Размер изображения должен быть 30x30 пикселей. По умолчанию предоставляется mkspec. |
| logo_splash | Файл изображения экрана загрузки. Размер изображения должен быть 620x300 пикселей. По умолчанию предоставляется mkspec. |
| logo_store | Файл изображения логотипа для Windows Store. По умолчанию предоставляется mkspec. |
| logo_wide | Файл изображения широкого логотипа. Размер должен быть 310x150 пикселей. Поддерживается на всех платформах приложений Windows Store. По умолчанию предоставляется mkspec. |
| name | Имя пакета, отображаемое пользователю. По умолчанию TARGET. |
| phone_product_id | GUID продукта. Этот параметр устарел. |
| phone_publisher_id | GUID издателя. Этот параметр устарел. |
| publisher | Имя издателя для отображения. По умолчанию Default publisher display name. |
| publisher_id | Различающее имя издателя (по умолчанию: CN=MyCN). |
| target | Имя целевого файла (.exe). По умолчанию TARGET. |
| version | Номер версии пакета. По умолчанию 1.0.0.0. |
| minVersion | Минимальная требуемая версия Windows для запуска пакета. По умолчанию WINDOWS_TARGET_PLATFORM_VERSION. |
| maxVersionTested | Максимальная версия Windows, с которой был протестирован пакет. По умолчанию WINDOWS_TARGET_PLATFORM_MIN_VERSION. |
Вы можете использовать любое сочетание этих значений.
Например:
WINRT_MANIFEST.publisher = MyCompany WINRT_MANIFEST.logo_store = someImage.png WINRT_MANIFEST.capabilities += internetClient WINRT_MANIFEST.capabilities_device += location
Кроме того, входной файл манифеста можно указать, используя WINRT_MANIFEST.
Например:
WINRT_MANIFEST = someManifest.xml.in
Если входной файл манифеста не должен обрабатываться и только копируется в целевой каталог, необходимо установить конфигурацию verbatim.
WINRT_MANIFEST = someManifest.xml.in WINRT_MANIFEST.CONFIG += verbatim
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-5.15/qmake-variable-reference.html