Utilizzare cUnit con Eclipse in Max OSx

Il presente tutorial è ottenuto partendo dalle indicazioni per l'installazione dell'ambiente di sviluppo su Windows affinchè si ottenesse lo stesso ambiente anche su Mac OS X.

Ho realizzato anche un'altro post introduttivo sul C/C++ e la sua compilazione in ambiente Gnu/Linux, essendo davvero molto introduttivo è valido anche per l'ambiente Mac OS X.

Nota:il presente tutorial è stato testato su Gnu/Linux ed è stato possibile senza grosse differenze poter seguire gli stessi passaggi, è tutto identico tranne che l'installazione di cUnit che non potrà essere ottenuto tramite MacPorts, ma solo tramite il sorgente.

Prerequisiti

  • Testato su Mac OS X 10.6.6, 10.7.3, non escludo la compatibilità con versioni vicine;
  • MacPorts: è necessario ma non di vitale importanza, in caso di non disponibilità si dovrà compilare ed installare manualmente cUnit, MacPorts è disponibile a questo indirizzo;
  • Eclipse: Scaricare Eclipse IDE for C/C++ Developers, per questa guida ho scelto di la versione a 32Bit;
  • cUnit: vedremo di seguito nel dettaglio come scaricarlo;

Installazione Eclipse

Estriamo il pacchetto di Eclipse precedentemente scaricato.

Otterremo nella locazione in cui abbiamo estratto il Eclipse una cartella che dovremo spostare in "Applicazioni" (Applications).

Avviando per la prima volta Eclipse dovremo decidere la locazione dell'area di lavoro (workspace) in cui avremo i progetti di Eclipse.

Fatto questo Eclipse è pronto all'uso, ma ci manca ancora qualcosa prima di poter utilizzare anche cUnit.

Installazione di cUnit

Il metodo più veloce ed efficente per installare cUnit su Mac OS X è utilizzare MacPorts, se non fosse già installato sul vostro sistema potete scaricare l'ultima versione di MacPorts tramite il seguente link ed installarlo come un classico pacchetto *.dmg di Osx. Altrimenti è sempre possibile ottenere il sorgente compilarlo ed installarlo manualmente.

$ sudo port install cunit

MacPort scaricherà, compilerà e installerà sia cUnit e libncurses automaticamente.

Creiamo un progetto ed utilizziamo cUnit

A questo punto possiamo riaprire Eclispe e creare un nuovo progetto da File > New > C Project.

Inserendo quindi il nome del progetto, selezionando sulla destra il compilatore ed infine selezioniamo "Hello World ANSI C Project".

Ottenendo quindi un "Hello World" di test come in figura.

A questo punto siamo pronti per includere anche i file della libreria cUnit accedendo alle preferenze del progetto cliccando con il tasto destro sul progetto nella colonna sinistra.

Spostandoci in C/C++ Build > Settings > MacOS X C Linker > Libraries inserendo in Libraries (-l) "cunit" ed in Libraries search Path (-L) inseriamo la path /opt/local/lib .

Confermiamo le modifiche e torniano al nostro progetto e lanciamo nuovamente il progetto per testare cUnit, si otterrà probabilmente un errore come in figura.

Problema risolvibile tornando alle preferenze del progetto cliccando con il tasto destro sul progetto nella colonna sinistra. Spostandoci in C/C++ Build > Settings > MacOS X C Linker > Libraries inserendo in Libraries (-l) "ncurses".

Ora siamo pronti per sfruttare cUnit nel suo complesso e per fare questo dovremo includere le sue librerie di base ed utilizzare le funzioni messe a disposizione.

Nella parte iniziale del file principale inseriamo la seguente inclusione:

#include "CUnit/Basic.h"

Dopodichè apriamo nuovamente le preferenze del progetto cliccando con il tasto destro sul progetto nella colonna sinistra, spostandoci in C/C++ Build > Settings > MacOS X C Linker > Includes. Ed aggiungiamo in Include paths (-l) la path come in figura: /opt/local/include.

Nota 12/03/2012 A seguito di una segnalazione ho testato la seguente guida su OSx Lion ed ho riscontrato che necessità di un ulteriore settings:

  • aprire nuovamente le preferenze del progetto spostandoci in C/C++ Build > Settings > GCC Assembler > Includes aggiungendo nuovamente in Include paths (-l) la path precedente: /opt/local/include, come abbiamo fatto nel passo precedente
  • ripetere l'operazione anche in C/C++ Build > Settings > GCC C Compiler > Includes aggiungendo nuovamente in Include paths (-l);

Questi ultimi due passaggi potrebbe essere necessari anche su Sistemi Operativi precedenti a OSx Lion (10.7.x), in quanto potrei aver dimenticato di annotarli durante la prima stesura della guida.

Salviamo e tornando al progetto e rilanciandolo, non dovrebbe più dare errore, dovremmo essere pronti a relizzare alcuni script in C ed i relativi Unit test del codice scritto.

Conclusione

L'installazione di base per realizzare alcune righe di C è ora completa, aggiornerò il presente tutorial se incontrerò ulteriori problemi o soluzioni alternative.

Buona continuazione...

Licenza: 
Attribuzione 2.5
Short URL: Copy and share: http://to.ly/9I0n
Pubblicato il 07/03/2011

Autore: Domenico.Monaco[@]kiuz.it
Lavoro professionalmente come Web developer e Web designer, oltre che essere appassionato di informatica, free software e della cultura rock ed underground.