Panoramica su Eclipse/Carbide.c++

Carbide è un tool Nokia/Symbian che, appoggiandosi alla piattaforma di sviluppo Eclipse, agevola lo sviluppo e il debugging di applicazioni C++ per sistemi Symbian ( S60, Series 80, UIQ e MOAP).

Si può scaricare da qui, oppure cercando "Carbide Development Tools for Symbian OS C++" sul sito http://www.forum.nokia.com.Notare che quello che ci serve è Carbide.c++ (cioè "carbide" seguito da "punto" e da "c++", per distinguerlo da quello per Java, che si chiama Carbide.J, e probabilmente da altri), in versione Express (gratuita).
Una volta scaricato, per installarlo basta avviarlo; non verranno fatte richieste particolari se non il percorso di installazione, e si può installare anche in D: senza problemi, a differenza degli SDK Symbian che sono progettati per funzionare da C: , e se installati su altri drive causano un sacco di problemi.

Una volta avviato Carbide.c++, prima di iniziare ad usarlo è indispensabile capire come è strutturato: per capirlo, si possono leggere per due ore le spiegazioni dell'help e del tutorial districandosi tra vari menu e pulsanti e icone, oppure si può guardare quest'immagine e leggere le 5 righe che la seguono:

struttura Carbide-Eclipse
  1. La finestra principale del programma si chiama WORKBENCH;
  2. Nel workbench possono comparire una serie di sotto-finestre, ognuna con un certo scopo (mostrare i sorgenti, mostrare gli errori di compilazione, ecc...);
  3. Quali sono le finestre da mostrare e dove sono posizionate nel workbench costituisce una PERSPECTIVE;
  4. Ogni sotto-finestra è chiamata VIEW;
  5. Tra i tanti tipi di view c'e' il tipo EDITOR, il cui uso mi pare evidente.



I menu di Carbide non sono molto intuitivi: se vi aspettate un menu VIEW che vi permetta di decidere cosa vedere sullo schermo (come in ogni programma di questo mondo), scordatevelo; se pensate che il menu WINDOW permetta di vedere l'elenco delle finestre aperte, scordatevelo. E' tutto molto più incasinato.

Per esempio, siccome si possono averie varie PERSPECTIVES attive allo stesso momento, invece di vederne l'elenco nel menu WINDOW, dovremo, sì, aprire il menu WINDOW, ma poi cliccare su OPEN PERSPECTIVE e poi OTHER: se pensavate che Bill Gates fosse il solo a essere matto, visto che per farvi spegnere il PC vi fa cliccare sul tasto avvio, vi sbagliavate.
Per fortuna però non sarete costretti a usare sempre questo menu: una volta scelte le prospettive che vi servono (probabilmente solo 2, Symbian e Debug), potrete passare dall'una all'altra cliccando sulla perspective switching bar in alto a destra sul workbench.
Se poi il workbench vi sembra troppo affollato, cliccato col destro sulla barra-titolo di una sotto-finestra (o "view") e scegliete FAST VIEW: la finestra scomparirà, ma potrete visualizzarla "al volo" cliccando sulla "fast view" switching bar in  basso a sinistra.

Se a un certo punto volete tornare alla schermata iniziale, quella comparsa appena avviato Carbide, andate su HELP/WELCOME.

Per iniziare a programmare, bisogna selezionare l'SDK giusto; se Carbide non mostra i vostri SDK nella view Build Configurations, provate con un RESCAN (se riuscite a trovarlo): menu WINDOW-->PREFERENCES
menu-window-preferences
aprite il nodo Carbide.c++, cliccate su SDK Preferences e infine sul tasto RESCAN NOW in basso:
SDK preferences
Note personali:
L'SDK per UIQ 2.0 non è ufficialmente supportato. Installare l'UPDATE dell'SDK o anche l'SDK per UIQ 2.1 non risolve (subito) il problema: anzi, installando l'update e l'SDK UIQ 2.1, ho visto scomparire anche l'sdk UIQ_70 dalla lista di Carbide! Solo facendo una serie di operazioni (delle quali non so quali siano effettivamente necessarie...) sono riuscito a far rilevare i due SDK:

Altri problemi noti di configurazione di Carbide:
- non usare percorsi che contengano spazi
- uscire dall'emulatore prima di creare una nuova build (menzionato in screencast)
- Michelasso and others had problems when they changed the loc file:
Delete the .rsc file in ...\epoc32\release\WINSCW\UDEB\Z\SYSTEM\APPS\<project> and then rebuild.
- Ci possono essere problemi con versioni non inglesi di Winodws, perche' Carbide cerca i tool degli SDK sempre nella cartella in C:\Program Files , e non, ad esempio, C:\programmi
- la root directory del drive di installazione (C:\) deve essere SCRIVIBILE, cosa che può non essere vera se non si è amministratori del PC, o per altri motivi (--> link )
- Carbide C++ apparently ignores the registry setting for the name of the default program location and looks hard-coded in C:\Program Files\Common Files\Symbian which did not exist;  bisogna copiare in questa cartella il file DEVICES.XML che probabilmente si trova in c:\programmi\file comuni\symbian  (LINK)
- altri problemi noti e consigli (ad esempio, sui file .loc): LINK

Il contenuto del mio file  C:\Programmi\File comuni\Symbian\devices.xml (che invece dovrebbe stare in c:\program files\common files\symbian)
<?xml version="1.0"?>
<devices version="1.0">
<device id="UIQ_21" name="com.symbian.UIQ" default="no" userdeletable="no">
<epocroot>C:\Symbian\UIQ_21\</epocroot>
</device>
<device id="UIQ_21" name="com.symbian.UIQ-runtime" default="no" userdeletable="no">
<epocroot>C:\Symbian\UIQ_21\runtime\</epocroot>
</device>
<device id="UIQ_70" name="com.symbian.UIQ" default="yes" userdeletable="no">
<epocroot>C:\Symbian\UIQ_70\</epocroot>
</device>
<device id="UIQ_70" name="com.symbian.UIQ-runtime" default="no" userdeletable="no">
<epocroot>C:\Symbian\UIQ_70\runtime\</epocroot>
</device>
</devices>

Una volta riusciti a configurare tutto per bene, non preoccupatevi se nella view Build Configurations non appare quasi niente: si riempirà non appena creerete un nuovo progetto.

Per creare il primo programma andate su FILE->NEW->PROJECT:
new project
(oppure scegliere direttamente dalla lista sotto a PROJECT...);

se avete scelto PROJECT..., adesso scegliete C++ Application for UIQ Project e seguite le istruzioni del "wizard":
uiq project

al termine del wizard, lo stato delle view cambierà per riflettere l'avvenuta creazione di un nuovo progetto:
build-configurations-dopo
in particolare, notare che nella view Build Configurations adesso compaiono i target di compilazione disponibili: Emulatore, Telefono - ARMI e telefono THUMB (vedi guida principale per spiegazioni).

Selezionate l'emulatore (o quello che volete...) nella Build Configurations view, poi compilate con ALT+B o PROJECT->BUILD ALL:
build menu   build button

Terminata la compilazione, per lanciare il programma premete ALT+B, o scegliete il menu, o premete il tasto PLAY nella toolbar; se avete scelto l'emulatore, la prima volta verrà chiesto di creare una CONFIGURAZIONE: cliccare su NEW e scegliere il progetto in questione, quindi APPLY seguito da RUN: verrà lanciato l'emulatore, che avvierà la procedura di installazione del file .sis  relativo alla vostra applicazione, che è stato creato automaticamente.




Indice degli appunti di programmazione:

Appunti di programmazione in ambiente Symbian C++
Usare Carbide.c++
Importare un progetto in Carbide.c++ da un file .MMP
Compilare un eseguibile Symbian .exe multiplatform
Appunti di programmazione PersonalJava
Compilare un'applicazione PersonalJava, creare i file .APP, .AIF e .TXT per lanciarla, e installarla sull'emulatore.  
Appunti di programmazione Java Midlet