[Предыдущая: Запуск qmake] [Содержание] [Следующая: Продвинутое использование qmake]
Примечания для платформ
Многие кросс-платформенные проекты могут обрабатываться базовыми конфигурационными средствами qmake'а. На некоторых платформах получения преимуществ от платформо-зависимых возможностей иногда полезно или даже необходимо. qmake известно о многих из этих возможностей, и к ним можно получить доступ через специальные переменные, которые имеют эффект только на платформах, к которым они относятся.
Mac OS X
Возможности, специфичные для этой платформы, включают в себя поддержку создания универсальных двоичных файлов, каркасов и пакетов.
Бинарные пакеты и пакеты с исходными кодами
Версия qmake, поставляемая в пакетах исходных кодов, конфигурируется слегка по-другому по сравнению с поставляемой в бинарных пакетах в которых использует разные спецификации функций. Пакет с исходными кодами обычно использует спецификацию macx-g++, бинарный пакет обычно конфигурируется для использования спецификации macx-xcode.
Пользователи каждого пакета могут поменять эту конфигурацию запуская qmake с опцией -spec (для получения дополнительной информации смотрите Запуск qmake). Это позволяет, например, использовать qmake из бинарного пакета для создания Make-файла в каталоге проекта с помощью следующего вызова командной строки:
qmake -spec macx-g++
Использование каркасов (Frameworks)
qmake способен автоматически генерировать правила сборки для компоновки вместе с каркасами в стандартном каталоге каркасов, расположенном на Mac OS X в /Library/Frameworks/.
Каталоги, отличающиеся от стандартного каталога каркасов, необходимо задать системе сборки, и достигается это добавлением опций компоновщика в переменную QMAKE_LFLAGS, как показано в следующем примере:
QMAKE_LFLAGS += -F/path/to/framework/directory/
Сам каркас компонуется с добавлением опций -framework и именем каркаса в переменную LIBS:
LIBS += -framework TheFramework
Создание каркасов (Frameworks)
Любая заданный проект библиотеки может быть сконфигурирован таким образом, что результирующий файл библиотеки помещается в каркас, готовый для развёртывания. Чтобы это сделать, настройте проект на использование шаблона lib и добавьте опцию lib_bundle к переменной CONFIG:
TEMPLATE = lib
CONFIG += lib_bundle
Данные, связанные с библиотекой, указывают используя переменную QMAKE_BUNDLE_DATA. Она содержит элементы, которые будут установлены с помощью пакета библиотеки, что часто используется для задания набора заголовочных файлов, как в следующем примере:
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
Здесь переменная FRAMEWORK_HEADERS - определяемая пользователем переменная, которая используется для определения заголовков, необходимых для использования отдельным каркасом. Добавление ее к переменной QMAKE_BUNDLE_DATA гарантирует, что информация об этих заголовках добавлена к набору ресурсов, которые будут установлены с пакетом библиотеки. Имя и версия каркаса также указываются в переменных QMAKE_FRAMEWORK_BUNDLE_NAME и QMAKE_FRAMEWORK_VERSION. По умолчанию, используемые для них значения получают из переменных TARGET и VERSION.
Для получения дополнительной информации о развёртывании библиотек и приложений смотрите Развёртывание приложения в Mac OS X.
Создание универсальных бинарных файлов
Для создания универсального бинарного файла вашего приложения вам нужно использовать версию Qt, которая была сконфигурирована с опцией -universal.
Поддерживаемые в бинарном файле архитектуры указываются в переменной CONFIG. Например, следующее присваивание заставит qmake сгенерировать правила сборки для создания универсального бинарного файла для архитектур PowerPC и x86:
CONFIG += x86 ppc
Кроме того, разработчикам, использующим платформу на основе PowerPC, нужно установить переменную QMAKE_MAC_SDK. Более подробно этот процесс обсуждается в руководстве по развёртыванию в Mac OS X.
Создание и миграция проектов Xcode
В Mac OS X разработчики могут получить преимущество поддержки файлов проекта Xcode qmake'ом как описано в Qt присущая Mac OS X, запустив qmake для генерации проекта Xcode из имеющихся файлов проекта qmake. Например:
qmake -spec macx-xcode project.pro
Обратите внимание на то, что если проект позднее перемещается на диск, qmake должен быть запущен снова для обработки файла проекта и создания нового файла проекта Xcode.
Windows
Возможности, специфичные для этой платформы, включают в себя поддержку создания файлов проекта Visual Studio и обработку файлов манифеста при развёртывании приложений Qt, разработанных с использованием Visual Studio 2005.
Создание файлов проекта Visual Studio
Разработчики, использующие Visual Studio для написания приложений Qt, могут использовать возможности интеграции с Visual Studio, предоставляемые в Коммерческих выпусках Qt и могут не беспокоиться о том, как управлять зависимостями проекта.
Однако, некоторым разработчикам может понадобиться импортировать существующий проект qmake в Visual Studio. qmake способен получить файл проекта и создать проект Visual Studio, который содержит всю необходимую информацию, требующуюся для среды разработки. Достигается это установкой qmake шаблона проекта равным или vcapp (для проектов приложений) или vclib (для проектов библиотек).
Также это можно установить используя опцию командной строки, например:
qmake -tp vc
Можно рекурсивно сгенерировать файлы .vcproj в подкаталогах и файл .sln в главном каталоге, набрав:
qmake -tp vc -r
При обновлении вашего файла проекта вам необходимо каждый раз запускать qmake для генерации обновленного проекта Visual Studio.
Файлы манифеста Visual Studio 2005
При развёртывании приложений Qt, собранных с использованием Visual Studio 2005, необходимо убедиться, что файл манифеста, созданный при компоновке приложения, обработан правильно. Он обрабатывается автоматически для проектов, которые создают DLLки.
Удаление манифеста, встроенного в исполняемые файлы приложения, можно выполнить с помощью следующего присваивания переменной CONFIG:
CONFIG -= embed_manifest_exe
Кроме того, манифест, встраиваемый в DLLки, можно удалить с помощью следующего присваивания переменной CONFIG:
CONFIG -= embed_manifest_dll
Подробнее это обсуждается в руководстве по развёртыванию в Windows.
[Предыдущая: Запуск qmake] [Содержание] [Следующая: Продвинутое использование qmake]
|