Эмулятор платформы поставляется как часть SDK. Благодаря этому разработка и тестирование приложения может проводиться на компьютере без подключения целевого устройства. Программы могут создаваться и отлаживаться как с помощью эмулятора, так и непосредственно на телефоне. Кроме того, можно получать различный бинарный код для различных устройств. Процесс компиляции и линковки проводится с использованием инструментов командной строки или различных IDE (Microsoft Visual C++ 6, Metrowerks Code Warrior, Borland C++Builder 6 Mobile Edition и Borland C++BuilderX Mobile).
Программисты Symbian реализовали подход аппаратно независимой разработки приложений. Сначала должны быть созданы два универсальных файла:projectname.mmp иbld.inf, где projectname - имя разрабатываемого компонента или приложения. Эти два текстовых файла используются в качестве отправной точки для любого варианта компоновки, IDE и платформы.
Файлbld.inf определяет названия всех компонент проекта, для которых необходимо провести компоновку. Каждый компонент описан в собственном.mmp файле.
В обоих файлах содержится текст. Если проект состоит из нескольких компонент (собственно приложение и специальные библиотеки), то каждый из них должен иметь собственный.mmp файл. Каждую библиотеку, подключаемую к приложению, также необходимо снабдить.mmp файлом. При этом каждый.mmp файл должен быть прописан вbld.inf.
Демонстрационный проект HalloWorld содержит всего два файла спецификации:bld.inf иhelloworld.mmp. Используя эти файлы можно настроить проект под определенную платформу и создать необходимые командные файлы.
Как правило, вам придется работать с утилитойbldmake. Она, используя в качестве исходных данных два проектных файла спецификации, генерирует командный файлabld.bat. С его помощью Вы сможете выполнять множество действий над проектом. Например,abld.bat можно использовать для создания ориентированных на платформу или среду разработки make-файлов. При наличии законченного исходного кода проекта,abld можно использовать для компоновки проекта под одну или более платформ.
Последние годы большинство проектов создаются, компонуются и запускаются с помощьюинтегральных сред разработки (IDE).
Если Вы используетеMicrosoft Visual C++, то можете использоватьabld для генерации файлов HelloWorld.dsp и HelloWorld.dsw. Файл.dsw описывает рабочую область и открывается непосредственно из IDE. Этот файл может ссылаться на один или несколько.dsp файлов.
Если Вы используетеMetrowerks Code Warrior, то можете создать проект в IDE обычным способом или импортировать.mmp файлы. В процессе импортирования создается необходимый проектный файл HelloWorld.mcp.
Аналогичную задачу может решать иBorland C++ Builder Mobile Edition IDE, используя вместо.mmp файлbld.inf.Borland C++ BuilderX создаст файл проекта с расширением.cbx.
Открыв файл проекта в конкретной интегрированной среде разработки, Вы сможете воспользоваться всеми ее инструментами для разработки, трассировки, компоновки и запуска создаваемого вами приложения.
Разработчики, предпочитающие использовать командную строку, могут использовать abld для компиляции и линковки проекта.
Все методы создания проекта для различных IDE будут описаны позже.
В итоговой таблице 1.1 приведены различные доступные в настоящее время средства для разработки проектов под платформу Series 60. Большую долю составляют постоянно пополняющиеся предложения от Symbian, Nokia, Borland и Metrowerks. Вероятно, что широко используемая сегодня среда разработки от Microsoft скоро перестанет поддерживаться.
Между интегрированными средами разработки, предлагаемыми Microsoft, Borland и Metrowerks есть существенные различия. В настоящее время ведется активная работа над двумя последними средами. EMCC Software Ltd старается ориентироваться на каждого из этих производителей.
Не стоит забывать и про имеющиеся в нашем арсенале инструменты командной строки. Они используются для компоновки проектов под целевые устройства. C++ BuilderX и Code Warrior IDE также могут использоваться для разработки под конкретные устройства.
С чего же начать написание нового приложения под Series 60? Прежде всего, создайте паруbld.inf и.mmp проектных файлов. В программах EMCC Software эти файлы используются для генерации проектов для различных IDE, а также при создании приложения консольными средствами. Этот подход реализуют в своих SDK Symbian и Nokia. Средства разработки развиваются с потрясающей скоростью, и ориентироваться на конкретную IDE нет никакой возможности.
Таблица 1.1
Command line building |
Используя инструменты Symbian OS совместно с транслятором и линкером, а также Microsoft Visual C++ компилятором/линкером создается выполняемый файл для эмулятора. Эмулятор может быть вызван из командной строки. Отладка исходного кода на эмуляторе требует работы в IDE. Вы можете использовать кросплатформенный компилятор и линкер GNU C++ для устройств на процессорах ARM |
Microsoft Visual C++ IDE |
Вы можете пользоваться компилятором и линкером для эмулятора в среде разработки Microsoft Visual C++. |
Borland C++ IDE |
В настоящее время доступно две среды разработки. IDE позволяет использовать компилятор и линкер для эмулятора. |
Metrowerks Code Warrior C++ IDE |
IDE позволяет использовать компилятор и линкер для эмулятора. |
Приведенный ниже материал будет посвящен работе с проектом HelloWorld. Будут показаны все шаги, которые необходимо проделать в процессе разработки, отладки и развертывания программы для эмулятора Series 60.
Для нашего проекта также потребуется создать файлы следующих типов: заголовки (.h), исходный код (.cpp), ресурсные файлы интерфейса пользователя (.rss).
Вы можете протестировать приложение, используя эмулятор, или используя кнопкуRun в IDE. Имейте в виду, что отладку приложения на эмуляторе нужно проводить внутри IDE.
После разработки, запуска, тестирования, или отладки приложения на эмуляторе вы, вероятно, захотите развернуть его и выполнить на целевом устройстве. В дальнейшем будет показано, как построить демонстрационное приложение для целевого устройства Series 60, как развернуть и запустить его.
Автор: aRix