Переменные
Фундаментальное поведение qmake зависит от объявлений переменных, которые определяют процесс сборки каждого проекта. Некоторые из них объявляют ресурсы, такие как заголовки и исходные файлы, общие для каждой платформы. Другие используются для настройки поведения компиляторов и компоновщиков на конкретных платформах.
Платформенно-специфические переменные следуют схеме именования переменных, которые они расширяют или изменяют, но включают в своё имя имя соответствующей платформы. Например, 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 | Включает поддержку использования предварительно скомпилированных заголовков в проектах. |
| 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. По умолчанию поддержка отключена. |
Когда вы используете опцию 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 для выполнения теста. Актуально только при генерации Makefiles. |
| insignificant_test | Код выхода автоматизированного теста будет проигнорирован. Актуально только если также установлен параметр testcase. |
| windows | Целью является приложение для Windows (только приложение). Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект. |
| console | Целью является консольное приложение для Windows (только приложение). Правильные пути включения, флаги компилятора и библиотеки будут автоматически добавлены в проект. |
| 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 | Помещает библиотеку в пакет библиотеки. |
Процесс сборки пакетов также зависит от содержимого переменной 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.
DEPLOYMENT_PLUGIN
Примечание: Эта переменная используется только на платформе Windows CE.
Указывает Qt-плагины, которые будут развернуты. Все доступные в Qt плагины могут быть явно развернуты на устройстве. Полный список см. в разделе Статические плагины.
Примечание: Плагины не будут автоматически развернуты на устройства Windows CE. Если приложение зависит от плагинов, эти плагины необходимо указать вручную.
Например, следующая запись загружает плагин формата изображений jpeg в каталог плагинов на устройстве Windows CE:
DEPLOYMENT_PLUGIN += qjpeg
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
Эта переменная используется только в 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
Дополнительную информацию см. в разделе Установка файлов.
Эта переменная также используется для указания дополнительных файлов, которые будут развернуты на встроенных устройствах.
Для Windows CE путь по умолчанию для развертывания — %CSIDL_PROGRAM_FILES%\target, который обычно расширяется до \Program Files\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 и размещается в сгенерированных файлах Makefile. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
QMAKESPEC
Системная переменная, содержащая полный путь к конфигурации qmake, используемой при генерации файлов Makefile. Значение этой переменной вычисляется автоматически.
Примечание: Не пытайтесь перезаписать значение этой переменной.
QMAKE_AR_CMD
Примечание: Эта переменная используется только на платформах Unix.
Указывает команду для выполнения при создании разделяемой библиотеки. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко требует изменения.
QMAKE_BUNDLE_DATA
Примечание: Эта переменная используется только в macOS и iOS.
Указывает данные, которые будут установлены вместе с пакетом библиотеки, и часто используется для указания набора заголовочных файлов.
Например, следующие строки добавляют 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.
Указывает расширение, которое следует использовать для пакетов библиотек. Это позволяет создавать фреймворки с настраиваемыми расширениями вместо стандартного расширения имени каталога .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_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.
В проекте фреймворка эта переменная содержит имя, которое будет использоваться для созданного фреймворка.
По умолчанию эта переменная содержит то же значение, что и переменная TARGET.
См. Создание фреймворков для получения дополнительной информации о создании фреймворков и пакетов библиотек.
QMAKE_FRAMEWORK_VERSION
Примечание: Эта переменная используется только на macOS и iOS.
Для проектов, где целевой сборкой является фреймворк macOS или iOS, эта переменная используется для указания номера версии, который будет применён к созданному фреймворку.
По умолчанию эта переменная содержит то же значение, что и переменная 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.
Указывает имя файла свойства, .plist, который вы хотите включить в пакет вашего приложения macOS и iOS.
В файле .plist вы можете определить некоторые переменные, например, @EXECUTABLE@, которые qmake заменит фактическим именем исполняемого файла. Другие переменные включают @ICON@, @TYPEINFO@, @LIBRARY@ и @SHORT_VERSION@.
При компиляции для iOS, и если файл .plist содержит ключ NSPhotoLibraryUsageDescription, qmake включит дополнительный плагин в сборку, который добавляет поддержку доступа к фотографиям (например, в QFile/QFileDialog). Для получения дополнительной информации об этом ключе см. документацию Apple по файлам Info.plist.
Примечание: В большинстве случаев значение по умолчанию Info.plist достаточно.
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_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_MAC_SDK
Эта переменная используется на macOS при построении универсальных библиотек.
QMAKE_MACOSX_DEPLOYMENT_TARGET
Эта переменная действует только при построении на macOS. На этой платформе переменная будет передана в переменную окружения MACOSX_DEPLOYMENT_TARGET, которая интерпретируется компилятором или линковщиком. Более подробную информацию см. в документе Развертывание приложения на 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 преобразует их в форму, понятную динамической загрузке (dynamic linker), как относительные к расположению исполняемого файла или библиотеки, ссылающейся на них. Это поддерживается только некоторыми платформами (в настоящее время 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 — это идентификатор, который динамический линковщик впоследствии будет использовать для ссылки на библиотеку. В общем случае эта ссылка может быть именем библиотеки или полным путем к ней. В OS X и iOS путь может быть указан относительно с использованием следующих плейсхолдеров:
| Плейсхолдер | Эффект |
|---|---|
| @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 не установлены.
QT
Указывает модули 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_ИКОНКИ
Только 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 и редко требует изменения.
SIGNATURE_FILE
Примечание: Эта переменная используется только в Windows CE.
Указывает, какой файл подписи следует использовать для подписи целевого проекта.
Примечание: Эта переменная переопределит установку, которую вы указали в настройках конфигурации, с -signature опцией.
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), которые содержат переводы текста пользовательского интерфейса на языки, отличные от родного.
См. Руководство Qt Linguist для получения дополнительной информации об интернационализации (i18n) и локализации (l10n) с помощью Qt.
UI_DIR
Указывает директорию, в которой должны храниться все промежуточные файлы из uic.
Например:
unix:UI_DIR = ../myproject/ui win32:UI_DIR = c:/myproject/ui
VERSION
Указывает номер версии приложения, если указан app шаблон, или номер версии библиотеки, если указан lib шаблон.
В Windows, запускает автоматическое создание файла .rc, если переменные RC_FILE и RES_FILE не заданы. Сгенерированный файл .rc будет содержать записи FILEVERSION и PRODUCTVERSION, заполненные значением основной, дополнительной, патчинг версии и сборки. Каждое число должно быть в диапазоне от 0 до 65535. Более подробную информацию о генерации файлов .rc можно найти в Заметках к платформе.
Например:
win32:VERSION = 1.2.3.4 # major.minor.patch.build else:VERSION = 1.2.3 # major.minor.patch
VERSION_PE_HEADER
Только Windows. Указывает номер версии, который компоновщик Windows помещает в заголовок файла .exe или .dll через опцию /VERSION. Может быть указана только основная и дополнительная версия. Если VERSION_PE_HEADER не установлен, он ссылается на основную и дополнительную версии из VERSION (если она установлена).
VERSION_PE_HEADER = 1.2
VER_MAJ
Указывает номер основной версии библиотеки, если указан lib шаблон.
VER_MIN
Указывает номер дополнительной версии библиотеки, если указан lib шаблон.
VER_PAT
Указывает номер патчинг версии библиотеки, если указан lib шаблон.
VPATH
Сообщает qmake, где искать файлы, которые он не может открыть. Например, если qmake ищет SOURCES и находит запись, которую он не может открыть, он проверяет весь список VPATH, чтобы увидеть, может ли он найти файл самостоятельно.
См. также DEPENDPATH.
WINRT_MANIFEST
Указывает параметры, которые должны быть переданы в манифест приложения в Windows Runtime.
| Элемент | Описание |
|---|---|
| architecture | Целевая архитектура. По умолчанию VCPROJ_ARCH. |
| background | Цвет фона плитки. По умолчанию green. |
| capabilities | Указывает возможности для добавления в список возможностей. |
| capabilities_device | Указывает возможности устройства для добавления в список возможностей (местоположение, веб-камера и т. д.). |
| 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
Примечание: Требуемые размеры изображений 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/archives/qt-5.6/qmake-variable-reference.html