Полезные советы DimonVideo
Wed, 19 Jul 2006 19:43:26 +0400Wed, 19 Jul 2006 19:43:26 +0400
Программирование на 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, а также подпапки и inc c исходниками и data - папка с ресурсами программы. А сам проект (dsp и dsw файлы) находится в папке:
C:\\\\Symbian\\\\6.1\\\\Series60\\\\Epoc32\\\\BUILD\\\\Имя_проекта\\\\WINS\\\\WINS
Компилим и запускаем проект.
Чтобы слить программу на телефон, см. раздел Создание реального sis-файла
Статью прислал bakunin

У меня на работе была следующая постановка задачи:
\"Написать по-быстрому программку для смартфонов сотрудников, так, чтобы её потянули все смартфоны, начиная с 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, а также подпапки и inc c исходниками и data - папка с ресурсами программы. А сам проект (dsp и dsw файлы) находится в папке:
C:\\\\Symbian\\\\6.1\\\\Series60\\\\Epoc32\\\\BUILD\\\\Имя_проекта\\\\WINS\\\\WINS
Компилим и запускаем проект.
Чтобы слить программу на телефон, см. раздел Создание реального sis-файла
Статью прислал bakunin
Программирование на Symbian С++. Быстрый старт. [...] читать описание
Программирование на Symbian С++. Быстрый старт. [...] читать описание
