Программирование для Symbian на платформе Linux
Много на чем я программировал, а вот Symbian с давних пор считал ну уж слишком мудреной системой с точки зрения кодинга. Но кризис припрет — еще и не такое освоишь: подвернулся заказ под Symbian. Вроде особо глубокого знания системы не требовалось, решил попробовать.
Первая неприятность заключалась в том, что всё ПО для разработки программ под Symbian рассчитано на Windows. А я уже так сроднился с Linux, что сама мысль о том, что придется опять торчать в гадких форточках показалась безмерно мерзкой. Второй минус — все IDE для девелопинга под Symbian — с GUI-интерфейсом. Я же предпочитаю чистую консоль.
Но мир не без добрых людей. Живет в славной Финляндии — т.е. как раз на родине Symbian и Nokia — гарный хлопчик Мартин Сторсо (звучит скорее всего немного по-другому — непереводимое финское произношение). У него есть страничка о том, как настроить все эти виндовые прибамбасы во-первых под Linux, во-вторых под консоль. Правда при этом необходим Wine, но под ним виндовые консольные утилиты работают практичкески так же эффективно, как родные линуксовые, даже не замечаешь виндового происхождения (разве что обратные слэши свидетельствуют о нем). Короче говоря, мне осталось только перевести с английского и выполнить пошаговые инструкции, которые я, впрочем, немножко изменил без потери работоспособности метода.
Для начала вот адрес странички. Если у кого-то не получится по моему рецепту — милости просим к первоистокам. Ну, а по-моему вот как надо.
1) Создаем директорию /usr/src/gnupoc. Gnupoc — это производное от Epoc — древней операционной системы, от которой произошел Symbian. С сайта Мартина качаем вот это и распаковываем в этот самый gnupoc.
2) Поскольку устройства с Symbian работают на процессорах ARM, нужен компилятор под это хозяйство. Берем здесь, и распаковываем в /usr. Если админских прав нет или не хочется засорять систему, можно распаковать и в ~/bin, только тогда нужно добавить путь в переменную PATH.
3) Теперь скачиваем какой-нибудь SDK с сайта http://forum.nokia.com. Просто так не дадут, надо регистрироваться. Но это, во-первых, не сложно и ни к чему не обязывает, во-вторых небесполезно. Имя файла, который нужно найти на сайте Nokia, примерно такое: S60-SDK-0616-3.0-mr.3.749.zip. Весят эти файлы изрядно — по 250-300 мегабайт, но такие уж у симбианщиков порядки
.
4) Скачаный файл помещаем всё туда же — в /usr/src/gnupoc. Затем переходим в gnupoc-package-1.13 и делаем, например,
Точную команду можно посмотреть на сайте Мартина. Тут принцип простой. Какой SDK скачали, ту версию и указываете. А версии могут потребоваться разные, для разных моделей телефонов. Так что в директории ~/bin у вас может оказаться целая семейка: S60_3.0, S60_3.1 и т.п. Меняя переменную среды EPOCROOT, можно обращаться к средствам того или иного SDK и компилировать программы практически для любых телефонов с Symbian.
Компилировать же нужно примерно вот как.
На выходе должен получиться sis-файл, который и устанавливается на телефон.
Если не получается, то попробуйте скопировать exe-файлы из $EPOCROOT/epoc32/tools в ~/.wine/disk_c/windows. Еще бывает, что некоторые файлы программа ищет в нижнем регистре, а они в верхнем. Винде-то пофиг, а Пингвин ругается. В таком случае нужно выполнить просто
Короче говоря, свое первое простенькое приложение для Symbian я уже собрал на Linux'e. Так что эта тема реально работает. Будут вопросы — обращайтесь.
Первая неприятность заключалась в том, что всё ПО для разработки программ под Symbian рассчитано на Windows. А я уже так сроднился с Linux, что сама мысль о том, что придется опять торчать в гадких форточках показалась безмерно мерзкой. Второй минус — все IDE для девелопинга под Symbian — с GUI-интерфейсом. Я же предпочитаю чистую консоль.
Но мир не без добрых людей. Живет в славной Финляндии — т.е. как раз на родине Symbian и Nokia — гарный хлопчик Мартин Сторсо (звучит скорее всего немного по-другому — непереводимое финское произношение). У него есть страничка о том, как настроить все эти виндовые прибамбасы во-первых под Linux, во-вторых под консоль. Правда при этом необходим Wine, но под ним виндовые консольные утилиты работают практичкески так же эффективно, как родные линуксовые, даже не замечаешь виндового происхождения (разве что обратные слэши свидетельствуют о нем). Короче говоря, мне осталось только перевести с английского и выполнить пошаговые инструкции, которые я, впрочем, немножко изменил без потери работоспособности метода.
Для начала вот адрес странички. Если у кого-то не получится по моему рецепту — милости просим к первоистокам. Ну, а по-моему вот как надо.
1) Создаем директорию /usr/src/gnupoc. Gnupoc — это производное от Epoc — древней операционной системы, от которой произошел Symbian. С сайта Мартина качаем вот это и распаковываем в этот самый gnupoc.
2) Поскольку устройства с Symbian работают на процессорах ARM, нужен компилятор под это хозяйство. Берем здесь, и распаковываем в /usr. Если админских прав нет или не хочется засорять систему, можно распаковать и в ~/bin, только тогда нужно добавить путь в переменную PATH.
3) Теперь скачиваем какой-нибудь SDK с сайта http://forum.nokia.com. Просто так не дадут, надо регистрироваться. Но это, во-первых, не сложно и ни к чему не обязывает, во-вторых небесполезно. Имя файла, который нужно найти на сайте Nokia, примерно такое: S60-SDK-0616-3.0-mr.3.749.zip. Весят эти файлы изрядно — по 250-300 мегабайт, но такие уж у симбианщиков порядки
.4) Скачаный файл помещаем всё туда же — в /usr/src/gnupoc. Затем переходим в gnupoc-package-1.13 и делаем, например,
./install_gnupoc_s60_26 /s60_2nd_fp2_sdk_msb.zip ~/bin/S60_26
Точную команду можно посмотреть на сайте Мартина. Тут принцип простой. Какой SDK скачали, ту версию и указываете. А версии могут потребоваться разные, для разных моделей телефонов. Так что в директории ~/bin у вас может оказаться целая семейка: S60_3.0, S60_3.1 и т.п. Меняя переменную среды EPOCROOT, можно обращаться к средствам того или иного SDK и компилировать программы практически для любых телефонов с Symbian.
Компилировать же нужно примерно вот как.
export PATH=~/bin:${PATH}
export EPOCROOT=~/bin/S60_30/
export PATH=$EPOCROOT/epoc32/tools:$PATH
cd ~/$EPOCROOT/s60_30/s60ex/helloworldbasic/group
bldmake bldfiles
abld build gcce urel
cd /sis
makesis helloworldbasic_gcce.pkg helloworldbasic.sis
На выходе должен получиться sis-файл, который и устанавливается на телефон.
Если не получается, то попробуйте скопировать exe-файлы из $EPOCROOT/epoc32/tools в ~/.wine/disk_c/windows. Еще бывает, что некоторые файлы программа ищет в нижнем регистре, а они в верхнем. Винде-то пофиг, а Пингвин ругается. В таком случае нужно выполнить просто
ln -s BLABLABLA.dat blablabla.datКороче говоря, свое первое простенькое приложение для Symbian я уже собрал на Linux'e. Так что эта тема реально работает. Будут вопросы — обращайтесь.

Комментарии (2)
RSS свернуть / развернутьа как обстоит дело со сборкой приложений с графическим интерфейсом
да и эмулятор не помешал бы
Sergei_T
yababay
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.