Spec-Zone.ru › Qt 5.12

Переменные

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

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

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, этот параметр указывает, что перечисленные директории должны обрабатываться в том порядке, в котором они указаны.
precompile_header Включает поддержку использования предварительно скомпилированных заголовков в проектах.
precompile_header_c (только MSVC) Включает поддержку использования предварительно скомпилированных заголовков для файлов C.
warn_on Компилятор должен выдавать как можно больше предупреждений. Если также указан warn_off, то действует последнее значение.
warn_off Компилятор должен выдавать как можно меньше предупреждений.
exceptions Поддержка исключений включена. Установлено по умолчанию.
exceptions_off Поддержка исключений выключена.
rtti Поддержка RTTI включена. По умолчанию используется значение по умолчанию компилятора.
rtti_off Поддержка RTTI выключена. По умолчанию используется значение по умолчанию компилятора.
stl Поддержка STL включена. По умолчанию используется значение по умолчанию компилятора.
stl_off Поддержка STL выключена. По умолчанию используется значение по умолчанию компилятора.
thread Поддержка потоков включена. Включается, если CONFIG содержит qt, что является значением по умолчанию.
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.
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 был также установлен. По умолчанию не установлен.

При использовании опции 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 обработает все библиотеки, на которые ссылается приложение, и найдёт их метаинформацию (см. Зависимости библиотек для получения более подробной информации).

Примечание: Параметр 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, не будет сокращен до списка уникальных значений перед использованием.

Эти опции определяют специфические особенности только в 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

DEF_FILE

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

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

DEPENDPATH

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

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.

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

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

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

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

LEXIMPLS

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

LEXOBJECTS

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

LEXSOURCES

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

Например:

LEXSOURCES = lexer.l

LIBS

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

Например:

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.

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@-стиля работают только с генераторами Makefile qmake, но не с генератором Xcode.

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

Примечание: В большинстве случаев значение по умолчанию 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 действительного профиля подписи. Используется совместно с QMAKE_DEVELOPMENT_TEAM для указания профиля подписи.

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

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 в исполняемом файле текущего процесса или ссылающихся библиотек.
@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_TVOS_DEPLOYMENT_TARGET

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

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

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

QMAKE_UIC_FLAGS

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

QMAKE_WATCHOS_DEPLOYMENT_TARGET

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

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

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

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 на основе shared/dynamic или при связывании библиотек. Она может быть использована для развертывания динамических плагинов в более позднее время.

QT_VERSION

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

QT_MAJOR_VERSION

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

QT_MINOR_VERSION

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

QT_PATCH_VERSION

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

RC_FILE

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

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 для целевого объекта. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко нуждается в модификации.

SOURCES

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

Например:

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

См. также HEADERS.

SUBDIRS

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

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

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

Например:

SUBDIRS = kernel \
          tools \
          myapp

Если вам необходимо гарантировать, что подкаталоги будут собираться в том порядке, в котором они указаны, обновите переменную CONFIG, чтобы она включала опцию ordered.

CONFIG += ordered

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

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

Например, определите два подкаталога, оба из которых находятся в другом каталоге, отличном от 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.

ПЕРЕВОДЫ

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

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

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

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

UI_DIR

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

Например:

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

VERSION

Указывает номер версии приложения, если указан шаблон app template, или номер версии библиотеки, если указан шаблон 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 template.

VER_MIN

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

VER_PAT

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

VPATH

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

См. также DEPENDPATH.

WINRT_MANIFEST

Устанавливает параметры, которые передаются в манифест приложения в Windows Runtime. Допустимые значения:

Элемент Описание
architecture Целевая архитектура. По умолчанию VCPROJ_ARCH.
background Цвет фона плитки. По умолчанию green.
capabilities Указывает возможности для добавления в список возможностей.
capabilities_device Указывает возможности устройства для добавления в список возможностей (местоположение, веб-камера и т. д.).
CONFIG Указывает дополнительные флаги для обработки входного файла манифеста. В настоящее время доступна только опция verbatim.
default_language Код языка по умолчанию приложения. По умолчанию "en".
dependencies Указывает зависимости, необходимые для пакета.
description Описание пакета. По умолчанию Default package description.
foreground Цвет переднего плана плитки (текст). По умолчанию light. Эта опция доступна только для приложений Windows Store в Windows 8 и Windows RT.
iconic_tile_icon Файл изображения для иконки шаблона плитки iconic. По умолчанию предоставляет mkspec.
iconic_tile_small Файл изображения для малого логотипа шаблона плитки iconic. По умолчанию предоставляет mkspec.
identity Уникальный идентификатор приложения. По умолчанию используется существующий сгенерированный UUID манифеста или генерируется новый UUID, если он отсутствует.
logo_30x30 Файл изображения логотипа размером 30x30 пикселей. Не поддерживается в Windows Phone.
logo_41x41 Файл изображения логотипа размером 41x41 пикселей. Поддерживается только в Windows Phone.
logo_70x70 Файл изображения логотипа размером 70x70 пикселей. Не поддерживается в Windows Phone.
logo_71x71 Файл изображения логотипа размером 71x71 пикселей. Поддерживается только в Windows Phone.
logo_150x150 Файл изображения логотипа размером 150x150 пикселей. Поддерживается на всех платформах приложений Windows Store.
logo_310x150 Файл изображения логотипа размером 310x150 пикселей. Поддерживается на всех платформах приложений Windows Store.
logo_310x310 Файл изображения логотипа размером 310x310 пикселей. Поддерживается на всех платформах приложений Windows Store.
logo_620x300 Файл изображения экрана загрузки размером 620x300 пикселей. Не поддерживается в Windows Phone.
logo_480x800 Файл изображения экрана загрузки размером 480x800 пикселей. Поддерживается только в Windows Phone.
logo_large Файл изображения большого логотипа. Размер должен быть 150x150 пикселей. Поддерживается на всех платформах приложений Windows Store. По умолчанию предоставляет mkspec.
logo_medium Файл изображения среднего логотипа. Для Windows Phone размер изображения должен быть 71x71 пикселей, для других платформ приложений Windows Store 70x70. По умолчанию предоставляет mkspec.
logo_small Файл изображения маленького логотипа. Для Windows Phone размер изображения должен быть 44x44 пикселей, для других платформ приложений Windows Store 30x30. По умолчанию предоставляет mkspec.
logo_splash Файл изображения экрана загрузки. Для Windows Phone размер изображения должен быть 480x800 пикселей, для других платформ приложений Windows Store 620x300. По умолчанию предоставляет mkspec.
logo_store Файл изображения логотипа для Windows Store. По умолчанию предоставляет mkspec.
logo_wide Файл изображения широкого логотипа. Размер должен быть 310x150 пикселей. Поддерживается на всех платформах приложений Windows Store. По умолчанию предоставляет mkspec.
name Название пакета, отображаемое пользователю. По умолчанию TARGET.
phone_product_id GUID продукта. По умолчанию значение WINRT_MANIFEST.identity. (Только Windows Phone)
phone_publisher_id GUID издателя. По умолчанию недопустимый GUID. (Только Windows Phone)
publisher Имя издателя для отображения. По умолчанию Default publisher display name.
publisher_id Отличительное имя издателя (по умолчанию: CN=MyCN).
target Имя цели (.exe). По умолчанию TARGET.
version Номер версии пакета. По умолчанию 1.0.0.0.
minVersion Минимальная требуемая версия Windows для запуска пакета. По умолчанию переменная среды UCRTVersion.
maxVersionTested Максимальная версия Windows, против которой был протестирован пакет. По умолчанию WINRT_MANIFEST.minVersion

Вы можете использовать любое сочетание этих значений.

Например:

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

Примечание: Требуемые размеры изображений logo_small, logo_medium и logo_large зависят от целевой платформы. Общие описания перезаписываются, если предоставлено описание, указывающее размер.

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.12/qmake-variable-reference.html

Spec-Zone.ru

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