sobota, 13 czerwca 2009

Problemy z Carbide.c++

Ta notatka jest dość stara - czytelników odsyłam do tego artykułu Programowanie Symbiana pod Windows 7 

Faktycznie, mogłem się spodziewać dość dużego zainteresowania poprzednim wpisem. Rzecz w tym że sporo zapytań dotyczy problemu pierwszych kroków z pracą na Carbide.C++. Istnieje pewien problem dla wszystkich rzeczy wspólny:

zainstalowanie niewłaściwej wersji Perla
zainstalowanie niewłaściwej wersji S60 SDK
niepoprawnie działanie kompilatora
brak rejestracji emulatora z S60 SDK
niepoprawne skonfigurowanie Carbide.C++
brak ścieżek do zmiennej środowiskowej PATH

Jeżeli już ktoś instalował i mu nie działa, albo kiedyś tam instalował i potem "wrócił" to musi sprawdzić czy wszystko działa z linii poleceń. To wtedy będzie oznaczało, że problem jest po stronie Carbide.C++. A co się stanie jak kompilator nie skompiluje? Albo emulator nie zechce uruchomić się?. Trzeba wszystko przeinstalować ponownie. Z apletu dodaj i usuń programy usuwamy (znakami xxx oznaczam to że mogą być różne wersje):

Carbide.c++ xxx
CSL ARM Toolchain (arm-symbianelf) 2005-Q1C
S60 3rd Edition xxx SDK for Symbian OS
Active Perl x.x.x Build xxx

Istotne jest też usunięcie fizyczne folderów gdzie to były rzeczy zainstalowane (przy założeniu że wszystko jest na C: na Windows XP bo na Windows Vista jest trochę inaczej):
C:\Program Files\Nokia\Carbide.c++ v2.0\
C:\Program Files\Common Files\Symbian\
C:\Program Files\CSL Arm Toolchain\
C:\Symbian\
C:\Perl\

Rejestrujemy się na Forum Nokia, login i hasło przyda nam się potem przy rejestracji emulatora i przy ściąganiu SDKów.

Najpierw instalujemy ActivePerl 5.6.1.638, potem Carbide.C++ 2.0 Podczas instalacji Carbide.C++ wybieramy wersję Developer, (wersji Professional i OEM nie polecam początkującym). Po instalacji nie uruchamiamy go jeszcze. Następnie instalujemy któreś S60 SDK. Użytkownicy Windows Visty muszą zainstalować wersję co najmniej S60 3rd Edition FP2 SDK for Symbian OS. Podczas instalacji S60 SDK zostaniemy poproszeniu o zainstalowanie CSL Arm Toolchain. Użytkownicy Windows Visty mogą otrzymać komunikat o tym że do kompilacji potrzebne jest używanie odpowiedniego pliku wsadowego. Im też polecam dodanie do zmiennych środowiskowej PATH pewnych wartości ( z tej strony).

Teraz możemy uruchomić Carbide.C++. Pierwszą rzeczą jest poprawne skonfigurowane IDE do kompilacji. Najpierw możemy uruchomić
Start -> Programy -> Carbide.c++v2.0 -> Configure environment for WINSCW command line.
Ten plik wsadowy konfiguruje emulatora do pracy z Carbide.c++
Teraz możemy uruchomić Carbide.C++
Start -> Programy -> Carbide.c++v2.0 ->Carbide.c++v2.0
Uruchaniając IDE trzeba pozmieniać pewne domyślne ustawienia. Z menu Carbide.c++v2.0 wybieramy Windows -> Preferences. Pojawi się okno Preferences, po lewej stronie mamy takie drzewko i wybieramy stamtąd węzeł Carbide.c++ i podwęzeł Platform Filtering Preferences.
Przy EKA2 Platforms pozostawiamy tylko Emulation (WinSCW) i GCCE (wszystko co ma w nazwie ARM odznaczamy).
Następnie sprawdzamy czy Carbide.C++ wykryło odpowiednią wersję S60 SDK to wybieramy węzeł SDK Preferences i tam mamy listę zainstalowanych SDKów.
Zamykamy i uruchamiamy z menu Carbide File -> New -> Symbian OS C++ Project i pojawi się okno z którego wybieramy węzeł S60 -> GUI Application i przechodzimy krok po kroku wszystkie okna kreatora.
Jak kreator zrobi całą strukturę folderów to w menu wybieramy Project -> Build Configuration -> Manage... to pojawi się okno Add/Remowe Carbide Build Configuration i zaznaczamy tylko Emulator Debug i Phone Release dla SDK którego chcemy użyć.
Zanim zaczniemy kompilację to trzeba będzie ustawić zakładkę Console na aktywną i wybrać z menu Projekt Build All Configurations. Wtedy Carbide.c++ skompiluje kod na wersję na komórkę oraz zrobi paczki w folderze sis a także zrobi wersję binarną dla emulatora. Komunikaty podczas kompilacji można zaobserwować w zakładce Console. Aby uruchomić emulator trzeba wybrać z menu Run ->Run. Po kilku minutach uruchomi się emulator wraz zaleceniem żeby zarejestrować go. W tej sytuacji trzeba podać hasło i login do forum Nokii.
Trzeba liczyć się z tym że przy każdym uruchamianiu emulatora może pojawiać sie komunikat Alertu zabezpieczeń systemu Windows o pozwolenie na uruchamianie aplikacji w emulatorze.
Po uruchomieniu emulatora klikamy w przycisk menu i pojawi się widok Menu i wtedy trzeba przejść do ikonki Installations. w po wybraniu powinno widać tą aplikację.
W folderze sis znajduje się plik *.sisx tej aplikacji, który możemy wgrać na komórkę.

3 komentarze:

estel pisze...

a jak jest u Ciebie z prędkością działania, u mnie po kompilacji banalnego programiku to emulator sie strasznie długo odpala, na pojawienie sie w emulatorze na wyświetlaczy meny musze czekac jakies 2 minuty. Natomiast gui programu nie mieści sie na wyświetlaczu i nie ma możliwości przesuniecia widoku zeby było widąc elementy które nie zmieściły sie na wyświetlaczu.

vadis pisze...

Hej Michale. wrzuciłem na forum symbianos.pl linka do twojich wypocin na temat carbide c++ , ponieważ trzeba twoją wiedzę popularyzować, są bowiem zainteresowani :)

Michał Małaj pisze...

@estel: Ja rzadko używam emulatora, ze względu na to że piszę programy używające GPS, czy Bluetootha co sprawia że emulator nie nadaje się do testowania takich rzeczy. Dlatego proponuje debugowanie z poziomu komórki. Potwierdzam, że czasami można by coś tam zmienić ustawieniach JVM Suna w celu nieznacznego przyspieszenia działania emulatora WINSW.

GUI programu w emulatorze to kwestia ustawień emulatora w pliku epoc.ini Jeżeli potrzebujesz kontaktu to polecam wypełnienie tego formularza