Spec-Zone.ru › Qt 5.9

Переменные

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

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

CONFIG

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

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

class="generic">
Параметр Описание
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 Включает поддержку использования предварительно скомпилированных заголовков в проектах.
warn_on Компилятор должен выводить как можно больше предупреждений. Если также указан warn_off, то действует последний.
warn_off Компилятор должен выводить как можно меньше предупреждений.
exceptions Поддержка исключений включена. Установлено по умолчанию.
exceptions_off Поддержка исключений отключена.
rtti Поддержка RTTI включена. По умолчанию используется значение по умолчанию компилятора.
rtti_off Поддержка RTTI отключена. По умолчанию используется значение по умолчанию компилятора.
stl Поддержка STL включена. По умолчанию используется значение по умолчанию компилятора.
stl_off Поддержка STL отключена. По умолчанию используется значение по умолчанию компилятора.
thread Поддержка потоков включена. Включается, когда CONFIG включает qt, что является значением по умолчанию.
c++11 Поддержка C++11 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++11. По умолчанию поддержка отключена.
c++14 Поддержка C++14 включена. Этот параметр не имеет эффекта, если компилятор не поддерживает C++14. По умолчанию поддержка отключена.
depend_includepath Включение добавления значения INCLUDEPATH к DEPENDPATH. Установлено по умолчанию.

Когда вы используете параметр 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.

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

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

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

class="generic">
Параметр Описание
qt Целью является приложение или библиотека Qt и требуется библиотека и заголовочные файлы Qt. Правильные пути включения и библиотек для библиотеки Qt будут автоматически добавлены в проект. Это определено по умолчанию и может быть уточнено с помощью переменной \l{#qt}{QT}.
x11 Целью является приложение или библиотека X11. Правильные пути включения и библиотеки будут автоматически добавлены в проект.
testcase Целью является автоматизированный тест. Цель проверки будет добавлена в сгенерированный Makefile для запуска теста. Актуально только при генерации файлов Make.
insignificant_test Код завершения автоматизированного теста будет проигнорирован. Актуально только если также установлен параметр testcase.
windows Целью является приложение Win32 (только приложение). Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект.
console Целью является консольное приложение Win32 (только приложение). Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект.
shared Целью является разделяемая библиотека/DLL. Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект. Обратите внимание, что dll может использоваться и на всех платформах; будет создан файл разделяемой библиотеки с соответствующим для целевой платформы суффиксом (.dll или .so).
dll
static Целью является статическая библиотека (только lib). Правильные флаги компилятора будут автоматически добавлены в проект.
staticlib
plugin Целью является плагин (только lib). Это также включает dll.
designer Целью является плагин для Qt Designer.
no_lflags_merge Обеспечивает, что список библиотек, хранящихся в переменной LIBS , не сводится к списку уникальных значений перед его использованием.

Эти параметры определяют определённые особенности только на Windows:

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

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

Следующие параметры действуют только на macOS:

class="generic">
Параметр Описание
app_bundle Помещает исполняемый файл в пакет (это значение по умолчанию).
lib_bundle Помещает библиотеку в пакет библиотеки.

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

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

class="generic">
Параметр Описание
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

DISTFILES

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

Например:

DISTFILES += ../program.txt

DLLDESTDIR

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

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

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

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

IDLSOURCES

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

INCLUDEPATH

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

Например:

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

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

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

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 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

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

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.

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

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_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_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 вы можете определить некоторые переменные, например, @EXECUTABLE@, которые qmake заменит на фактическое имя исполняемого файла. Другие переменные включают @ICON@, @TYPEINFO@, @LIBRARY@ и @SHORT_VERSION@.

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

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

QMAKE_IOS_DEPLOYMENT_TARGET

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

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

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

QMAKE_LFLAGS

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

QMAKE_LFLAGS_CONSOLE

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

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

QMAKE_LFLAGS_DEBUG

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

QMAKE_LFLAGS_PLUGIN

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

QMAKE_LFLAGS_RPATH

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

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

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

QMAKE_LFLAGS_REL_RPATH

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

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

QMAKE_REL_RPATH_BASE

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

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

QMAKE_LFLAGS_RPATHLINK

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

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

QMAKE_LFLAGS_RELEASE

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

QMAKE_LFLAGS_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 и редко требует изменения.

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 реализованы поверх OpenGL. Это будет обнаружено на этапе конфигурации, и QMAKE_LIBS_OPENGL будет неявно добавлен к QMAKE_LIBS_OPENVG при необходимости связывания библиотек OpenVG.

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

QMAKE_LIBDIR_X11

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

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

QMAKE_LIBS

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

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_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

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

QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9

QMAKE_RPATHDIR

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

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

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

QMAKE_RPATHLINKDIR

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

QMAKE_RUN_CC

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

QMAKE_RUN_CC_IMP

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

QMAKE_RUN_CXX

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

QMAKE_RUN_CXX_IMP

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

QMAKE_SONAME_PREFIX

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

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

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

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

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

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

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

QMAKE_TARGET

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

QMAKE_TARGET_COMPANY

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

QMAKE_TARGET_DESCRIPTION

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

QMAKE_TARGET_COPYRIGHT

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

QMAKE_TARGET_PRODUCT

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

QMAKE_TVOS_DEPLOYMENT_TARGET

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

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

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

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

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 для подпроекта. Доступно только на платформах, использующих make файлы.
.target Базовая строка, используемая для целей makefile, связанных с этим подпроектом. Доступно только на платформах, использующих make файлы.

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

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

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.

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 App.
logo_310x150 Файл изображения логотипа размером 310x150 пикселей. Поддерживается на всех платформах Windows Store App.
logo_310x310 Файл изображения логотипа размером 310x310 пикселей. Поддерживается на всех платформах Windows Store App.
logo_620x300 Файл изображения заставки размером 620x300 пикселей. Не поддерживается на Windows Phone.
logo_480x800 Файл изображения заставки размером 480x800 пикселей. Поддерживается только на Windows Phone.
logo_large Файл изображения большого логотипа. Должен быть размером 150x150 пикселей. Поддерживается на всех платформах Windows Store App. Значение по умолчанию предоставляет mkspec.
logo_medium Файл изображения среднего логотипа. Для Windows Phone размер изображения должен быть 71x71 пикселей, для других платформ Windows Store App — 70x70. Значение по умолчанию предоставляет mkspec.
logo_small Файл изображения маленького логотипа. Для Windows Phone размер изображения должен быть 44x44 пикселей, для других платформ Windows Store App — 30x30. Значение по умолчанию предоставляет mkspec.
logo_splash Файл изображения заставки. Для Windows Phone размер изображения должен быть 480x800 пикселей, для других платформ Windows Store App — 620x300. Значение по умолчанию предоставляет mkspec.
logo_store Файл изображения логотипа для Windows Store. Значение по умолчанию предоставляет mkspec.
logo_wide Файл изображения широкого логотипа. Должен быть размером 310x150 пикселей. Поддерживается на всех платформах Windows Store App. Значение по умолчанию предоставляет 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.9/qmake-variable-reference.html

Spec-Zone.ru

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