[Предыдущая: Пособие по qmake] [Содержание] [Следующая: Использование qmake] Общие проекты qmake
|
Опция | Описание |
---|---|
windows | Приложение ГПИ в Windows. |
console | Только шаблон app: приложение - консольное приложение Windows. |
Во время использования этого шаблона общеприняты следующие системные переменные qmake. Вам следует использовать их в .pro файле, чтобы определить информацию о приложении.
Вам нужно использовать только те системные переменные, для которых у Вас есть значения. Например, если у Вас нет никаких данных для INCLUDEPATHs, то Вы не должны определять её, qmake добавит значения по умолчанию для необходимых переменных. Например, файл проекта может выглядеть так:
TEMPLATE = app DESTDIR = c:/helloapp HEADERS += hello.h SOURCES += hello.cpp SOURCES += main.cpp DEFINES += QT_DLL CONFIG += qt warn_on release
Для элементов, которые имеют одно значение, например, шаблон или каталог назначения, мы используем "=". Но для элементов, которые имеют несколько значений, мы используем "+=", чтобы добавить значение к существующим элементам этого типа. Использование "=" заменяет значение элемента на новое, например, если мы написали DEFINES=QT_DLL, все остальные определения будут удалены.
Шаблон lib говорит qmake создать файл сборки, который скомпонует библиотеку. Во время использования этого шаблона, в дополнение к системным переменным, упомянутым выше для шаблона app, поддерживается переменная VERSION. Вы можете использовать эти переменные в вашем .pro файле для определения информации о библиотеке.
Во время использования шаблона lib, следующие опции могут быть добавлены к переменной CONFIG для определения типа получаемой библиотеки:
Опция | Описание |
---|---|
dll | Библиотека является разделяемой библиотекой (dll). |
staticlib | Библиотека является статической библиотекой. |
plugin | Библиотека является подключаемым модулем; это также доступно при выборе опции dll. |
Подключаемые модули (plugins) собирают, используя шаблон lib, как описано в предыдущем разделе. qmake создает файл сборки для проекта, который будет скомпонован, как подключаемый модуль в подходящей форме для каждой платформы, обычно в форме библиотеки. Как и с обычными библиотеками, переменная VERSION используется для задания информации о подключаемом модуле.
Подключаемые модули Qt Designer'а компонуются с использованием определенного набора установок конфигурации, которые зависят от метода, которым скомпонован Qt для вашей системы. Для удобства эти установки могут быть задействованы добавлением designer к переменной проекта CONFIG. Например:
CONFIG += designer plugin
Смотрите Примеры Qt Designer'а для получения большего количества примеров, основанных на подключаемых модулях.
Иногда необходимо собрать проект в обоих режимах, отладки и релиза. Хотя переменная CONFIG может поддерживать обе опции, debug и release, опция debug аннулирует опцию release.
Чтобы позволить собираться проекту в обоих режимах, вы должны добавить параметр debug_and_release в переменную CONFIG вашего проекта:
CONFIG += debug_and_release CONFIG(debug, debug|release) { TARGET = debug_binary } else { TARGET = release_binary }
В вышеприведенном фрагменте кода область видимости (scope) изменяет целевую сборку в каждом режиме, чтобы обеспечить результирующие целевые файлы разными именами. Обеспечивая разные имена файлам, мы тем самым гарантируем, что они не будут перекрывать друг друга.
Когда qmake обрабатывает файл проекта, он создает правило для файла сборки, которое позволяет проекту быть скомпонованным в обоих режимах. Это может быть осуществлено следующим образом:
make all
Опция build_all может быть добавлена в переменную CONFIG файла проекта для обеспечения того, что проект будет скомпонован в обоих режимах по умолчанию:
CONFIG += build_all
Это позволяет обработать файл сборки, используя правило по умолчанию:
make
Опция build_all также обеспечивает, что обе версии результата будут установлены, когда будет вызвано правило установки:
make install
Возможно, изменять имена целевых сборок в зависимости от целевой платформы. Например, библиотека или подключаемый модуль могут быть названы, используя разные условные обозначения для платформ Windows и Unix:
CONFIG(debug, debug|release) { mac: TARGET = $$join(TARGET,,,_debug) win32: TARGET = $$join(TARGET,,d) }
Свойства по умолчанию, во фрагменте кода выше, изменяют имя, используемое для целевой сборки, когда процесс сборки происходит в режиме отладки. Оператор else может быть добавлен в область видимости, чтобы выполнить тоже самое для режима релиза; левая часть остается той же, имя целевой сборки остается без изменений.
[Предыдущая: Пособие по qmake] [Содержание] [Следующая: Использование qmake]
Copyright © 2008 Nokia | Торговые марки | Qt 4.4.3 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |