[Предыдущая: Пособие по qmake] [Содержание] [Следующая: Использование qmake] Общие проекты qmake
Эта глава описывает, как подготовить файлы проекта qmake для трех общих типов проектов, которые основаны на Qt. Хотя многие проекты используют много похожих переменных, но каждый из проектов использует специфичные переменные для проекта, необходимые для настройки выходных файлов. Платформо-зависимые переменные здесь не описываются; предлагаем обратиться к документу Развёртывание Qt приложений для получения информации о таких вопросах, как сборка универсальных двоичных файлов для Mac OS X и обработка файлов манифеста Visual Studio.
Построение приложенияПостроение приложения Шаблон appШаблон app показывает qmake, как создавать файл сборки, по которому будет создано приложение. С этим шаблоном тип приложения может быть определён одной из опций CONFIG:
Во время использования этого шаблона общеприняты следующие системные переменные 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 Для позиций, которые имеют одно значение, например, шаблон или предопределение директории, мы используем "=". Но для позиций, которые имеют несколько значений, мы используем "+=", чтобы добавить (add) значение к уже имеющимся позициям. Используя замену "=", значение позиции будет новым, например, если мы написали DEFINES=QT_DLL, все другие определения будут удалены. Построение библиотекиШаблон libШаблон lib говорит qmake создать файл сборки, который скомпонует библиотеку. Во время использования этого шаблона, в дополнение к системным переменным, упомянутым выше, для шаблона app поддерживается переменная VERSION. Вы можете использовать эти переменные в вашем .pro файле для определения информации о библиотеке. Во время использования шаблона lib, следующие опции могут быть добавлены к переменной CONFIG для определения типа получаемой библиотеки:
Построение подключаемого модуляПодключаемые модули (plugins) создаются, используя шаблон lib, как описано в предыдущем разделе. qmake создает файл сборки для проекта, который будет скомпонован, как подключаемый модуль в подходящей форме для каждой платформы, обычно в форме библиотеки. Как и с обычными библиотеками, переменная VERSION используется для задания информации о подключаемом модуле.
Построение подключаемого модуля Qt Designer'аПодключаемые модули Qt Designer'а компонуются с использованием определенного набора установок конфигурации, которые зависят от метода, которым скомпонован Qt для вашей системы. Для удобства эти установки могут быть задействованы добавлением designer к переменной проекта CONFIG. Например: CONFIG += designer plugin debug_and_release Смотрите Примеры Qt Designer'а для получения большего количества примеров, основанных на подключаемых модулях. Построение и установка в режимах Debug и ReleaseИногда необходимо скомпоновать проекты в обоих режимах, отладки и релиза. Хотя переменная 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 может быть добавлен в область действия (scope), чтобы выполнить тоже самое для режима релиза. [Предыдущая: Пособие по qmake] [Содержание] [Следующая: Использование qmake]
|
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |