категории | RSS

Программирование на Symbian С++. Быстрый старт.

У меня на работе была следующая постановка задачи:
"Написать по-быстрому программку для смартфонов сотрудников, так, чтобы её потянули все смартфоны, начиная с Nokia3650"

Эта задача означает, что в работе необходимо было использовать самый старый из существующих SDK - SDK версии 1 и пожертвовать наворотами в пользу универсальности.

Всё описанное далее основывается на опыте работы c SDK1 и MS Visual Studio 6.6 Для других версий - некоторые шаги отличаются, некоторые - остаются теми же.

Да, кстати:
- Слово "SDK" расшифровывается, как Software Development Kit (что-то вроде Пакет для разработки приложений). Это - набор необходимых библиотек и утилит, которые должны быть подключены к определённой среде (или программе) для разработки. В случае с Symbian SDK v.1 - вместе с SDK должна использоваться Microsoft Visual Studio 6.x

Что нужно:

1. Среда разработки С++ (IDE). Она выбирается, исходя, прежде всего из личного программерского опыта и требований выбранного SDK. А выбрать версию SDK по конкретному устройству можно здесь: https://www.forum.nokia.com/devices/matrix_s60_1.html
2. Perl не ниже 5.003_07. Путь к папке bin должен быть в переменной окружения PATH (см. Мой компьютер->свойства-> дополнительно->переменные среды)
3. Опционально - виртуальная машина JAVA. (для SDK 1 нужна какая-то очень уж древняя машина, а на новых SDK-шные jar'ы глючат)
4. Естественно, знания C++ , умение работать с файлами и коммандной строкой.

Итак, что делаем:
1. Регистрируемся на сайте https://forum.nokia.com
2. Заходим на страницу https://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html
и качаем понравившееся SDK. Первое - самое маленькое (~90M)
3. Распаковываем скачанный zip, запускаем установку. Лучше не пробуйте менять папку по умолчанию (корень диска Csmile.
4. Итак, всё установленно. Заходим в папку C:\\Symbian\\6.1\\Series60 а дальше - в подпапку Epoc32Ex (базовые примеры) или Series60Ex (примеры с графическим интерфейсом) Каждая подпапка в этой папке - отдельный пример.

Запуск примера

Выберем что-нибудь отсюда, например, helloworld.
Чтобы открыть выбранный пример в вашей IDE - необходимо открыть коммандную строку (а лучше Far Manager!). Выполняем команды:
cd \\group (в Far'e - просто переходим в подпапку group) bldmake bldfiles

После этого шага в подпапке group (или в другой подпапке, содержащей файл BLD.INF) должен появиться файл ABLD.bat makmake vc6
Вместо нужно ввести реальное имя файла с расширением mmp (оно обычно совпадает с именем проекта). Эта команда создаст проект для VC 6. Для другой IDE - вместо vc6 нужно написать что-то другое. Запустите makmake без параметров, чтобы увидеть полный список.

Итак, создали проект, который можно использовать для дальнейшей разработки, отладки и запуска программы под Windows

Если вам повезло - файлы dsp и dsw будут находиться там же, где и ABLD.bat. Если нет, то где-нибудь в дебрях папки C:\\Symbian\\6.1\\Series60\\Epoc32\\BUILD
(Примерно C:\\Symbian\\6.1\\Series60\\Epoc32\\BUILD\\Имя_проекта\\WINS\\WINS)

Открываем в VC6 dsw-файл, жмём Ctrl-F5 (или Rebuild ALL). После успешной компиляции вас спросят, с помощью какой программы запустить вашу программу (так как ваша программа - на самом деле dll-ка).

И на этот вопрос надо ответить:
Для DEBUG:
C:\\Symbian\\6.1\\Series60\\Epoc32\\Release\\wins\\udeb\\Epoc.exe
Для RELEASE
C:\\Symbian\\6.1\\Series60\\Epoc32\\Release\\wins\\urel\\Epoc.exe

Если всё хорошо - запустится эмулятор мобилы и

Создание реального sis-файла

Для создания sis-файла перейдите в уже знакомую подпапку group и запустите там команду (необходимы все предыдущие шаги, кроме запуска makmake):
abld build armi urel
или
abld build thumb urel
, которая соберёт app и всё прочее. Далеко не все примеры снабжены файлом с расширением pkg, необходимого для создания sis. Если же такой файл есть (обычно в подпапке sis или install) - то вам повезло. Переходите в эту папку и запускаете:
makesis
Если нет - можно самому написать такой файл (синтакис описан в help'e) или просто скопировать на телефон файлы вашей программы. А находятся они в папке C:\\Symbian\\6.1\\Series60\\Epoc32\\Release\\armi\\urel или C:\\Symbian\\6.1\\Series60\\Epoc32\\Release\\thumb\\urel

Подключение SDK к IDE. Создание нового проекта.

Эта вещь специфична для разных IDE. Я расскажу только о VC6/SDK1,
Переходим в папку C:\\Symbian\\6.1\\Series60\\Series60Tools\\applicationwizard, копируем файлы avkonappwiz.awx и avkonappwiz.hlp в папку
c:\\Program Files\\Microsoft Visual Studio\\Common\\MsDev98\\Template

Переходим в папку C:\\Symbian\\6.1\\Series60\\Series60Tools\\epoctoolbar, копируем файл epoctools.dll в D:\\Program Files\\Microsoft Visual Studio\\Common\\MSDev98\\AddIns

Перезапускаем студию - в ней должна появиться новая панелька. Запускаем New->Project... и выбираем Series60 AppWizzard. Рекомендую в качестве пути проекта указать подпапку в корне диска C: - иначе может очень сильно заглючить.

Следуем инструкциям wizzard'а.

В результате получаем в рабочей папке несколько подпапок, в частности, уже знакомые group и system, а также подпапки src и inc c исходниками и data - папка с ресурсами программы. А сам проект (dsp и dsw файлы) находится в папке:
C:\\Symbian\\6.1\\Series60\\Epoc32\\BUILD\\Имя_проекта\\WINS\\WINS

Компилим и запускаем проект.

Чтобы слить программу на телефон, см. раздел Создание реального sis-файла

Статью прислал bakunin

DimonVideo
2006-07-19T19:43:26Z
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 16

#16   KroliX    

я скоро хочу начать изучать программирование. с чего начинать не знаю пока, но желание есть значит разберусьsmileда и форум мне в помощьsmile


0 ответить

#16   yweHeBawHo    

Найдутся люди которые хотели бы помочь новичкам и обновить статью, всё же 2010 год может можно через визуал писать?


0 ответить

#16   truf    

Статья капитально устарела за 2 года


0 ответить

#16   ioioioi    

а на делфи можно проги на 9 симбу писать?


0 ответить

#16   Caligo Spiritus    

Статья не очень полезна, новичку и правда трудно будет разобраться.
К тому же, тут описана и правда доисторический SDK.
Новичку в С++ под симбу вообще трудно начинать писать. Нужно знать основы синтаксиса, хотябы, потом уже лезть в симбу. Я сам сейчас начинаю (опыт в С++ небольшой есть) Собираюсь попробовать 2 пути - carbide.c++ и плугин к Visual Studio...
О результатах может быть напишу..


0 ответить

#16   sereganaci    

Все хорошо, но больно все это дело пугает, но как говоорят \"Бывает и хуже\". Так что спасибо за статью. Надеюсь у всех все получится и поделимся мнениями и советами.


0 ответить

#16   AlexeyZ    

Программирую на Дельфи, но недавно приобрел 6630, и, чувствую, что пора вспоминать си... Спасибо за статью.


0 ответить

#16   DimonVideo    

С отпуска приеду соберу на диск все


0 ответить

#16   ICE9000    

А вы думали в тапки .....
Таков наш труд, программерский...


0 ответить

#16   NikolaYO    

Е мое это все так сложно и запарено.


0 ответить

Яндекс.Метрика