Переменные
Основное поведение 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 для Android в директорию сборки вашего проекта, а затем копирует содержимое пути, указанного в этой переменной, поверх него, перезаписывая любые существующие файлы. Например, вы можете создать пользовательский AndroidManifest.xml для своего приложения, затем поместите его непосредственно в директорию, указанную в этой переменной.
ANDROID_PERMISSIONS
Примечание: Эта переменная применяется только к модулям Android.
Указывает список разрешений модуля:
ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION
Для получения дополнительной информации см. Документацию Android <uses-permission>.
ANDROID_TARGET_SDK_VERSION
Примечание: Эта переменная применяется только к целям Android.
Указывает целевой уровень API Android для проекта. По умолчанию эта переменная установлена на уровень API 30.
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, что является значением по умолчанию. |
| no_utf8_source | Указывает, что исходные файлы проекта не используют кодировку UTF-8. Вместо этого используется значение по умолчанию компилятора. |
| hide_symbols | Установить по умолчанию видимость символов в двоичном файле как скрытые. По умолчанию используется значение по умолчанию компилятора. |
| c99 | Поддержка C99 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C99 или не может выбрать стандарт C. По умолчанию используется значение по умолчанию компилятора. |
| c11 | Поддержка C11 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C11 или не может выбрать стандарт C. По умолчанию используется значение по умолчанию компилятора. |
| c17 | Поддержка C17, также известного как C18, включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C17 или не может выбрать стандарт C. По умолчанию используется значение по умолчанию компилятора. |
| c18 | Это псевдоним для значения c17. |
| strict_c | Отключает поддержку расширений компилятора C. По умолчанию они включены. |
| c++11 | Поддержка C++11 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++11 или не может выбрать стандарт C++. По умолчанию поддержка включена. |
| c++14 | Поддержка C++14 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++14 или не может выбрать стандарт C++. По умолчанию поддержка включена. |
| c++17 | Поддержка C++17 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++17 или не может выбрать стандарт C++. По умолчанию поддержка включена. |
| c++1z | Устаревший псевдоним для c++17. |
| c++20 | Поддержка C++20 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++20 или не может выбрать стандарт C++. По умолчанию поддержка отключена. |
| c++2a | Устаревший псевдоним для c++20. |
| 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. |
| compile_included_sources | По умолчанию qmake не компилирует исходные файлы, которые включены в другие исходные файлы. Этот параметр отключает это поведение. |
Когда вы используете опцию 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
Перечисляет библиотеки, от которых зависит целевая задача target. Некоторые бэкэнды, такие как генераторы для файлов проектов Visual Studio и Xcode, не поддерживают эту переменную. Как правило, эта переменная поддерживается внутренне этими инструментами сборки и полезна для явного перечисления зависимых статических библиотек.
Этот список размещается после всех встроенных (и $$PRE_TARGETDEPS) зависимостей.
PRE_TARGETDEPS
Перечисляет библиотеки, от которых зависит целевая задача target. Некоторые бэкэнды, такие как генераторы для файлов проектов 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 и помещается в сгенерированные Makefiles. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
QMAKESPEC
Системная переменная, которая содержит полный путь к конфигурации qmake, которая используется при генерации Makefiles. Значение этой переменной вычисляется автоматически.
Примечание: Не пытайтесь перезаписать значение этой переменной.
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.
Указывает имя файла файла свойств (Info.plist), .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 действительного профиля 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_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.
RCC_DIR
Указывает каталог для выходных файлов компилятора ресурсов Qt.
Например:
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.2/qmake-variable-reference.html