Программирование на 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, запускаем установку. Лучше не пробуйте менять папку по умолчанию (корень диска C.
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
Здесь находятся
всего 0. За сутки здесь было 0 человек
Комментарии 16
Найдутся люди которые хотели бы помочь новичкам и обновить статью, всё же 2010 год может можно через визуал писать?
Статья не очень полезна, новичку и правда трудно будет разобраться.
К тому же, тут описана и правда доисторический SDK.
Новичку в С++ под симбу вообще трудно начинать писать. Нужно знать основы синтаксиса, хотябы, потом уже лезть в симбу. Я сам сейчас начинаю (опыт в С++ небольшой есть) Собираюсь попробовать 2 пути - carbide.c++ и плугин к Visual Studio...
О результатах может быть напишу..
Все хорошо, но больно все это дело пугает, но как говоорят \"Бывает и хуже\". Так что спасибо за статью. Надеюсь у всех все получится и поделимся мнениями и советами.
я скоро хочу начать изучать программирование. с чего начинать не знаю пока, но желание есть значит разберусьда и форум мне в помощь
0 ответить