Strumenti necessari.
Occorre scaricare Eclipse da
Eclipse.org ed installare il plugin
CDT
Inoltre conviene scaricare i seguenti file dal sito
www.mingw.org:
- MinGW-3.1.0-1.exe (Installare ad esempio in C:\MinGW)
- MSYS-1.0.10.exe (Installare ad esempio in C:\MSYS\1.0)
- msysDTK-1.0.1.exe (Dovrebbe prendere la dir di installazione da quanto sopra).
Configurare MinGW.
Visto che ho vari SDK sulla macchina, ed inoltre ho anche il cygwin nel path, ho preferito modificare il file c:\msys\1.0\msys.bat includendo, all'inizio la seguente riga:
PATH=C:\windows;c:\windows\system32;c:\Mingw\bin
In questo modo, quando clicco sull'incona sono sicuro di utilizzare l'ambiente di programmazione giusto (si può erificare con gcc -v).
Configurare Eclipse.
Occorre installare Eclipse in, per esempio, E:\Eclipse e crearsi un file .bat del tipo:
PATH=C:\windows;c:\windows\system32;c:\Mingw\bin start E:\Eclipse\eclipse.exe
Ed usare questo per far partire il programma. A questo punto, per riconoscere i file eseguibili di tipo Windows mi è stato necessario:
- Creare un nuovo progetto C/C++
- Proprietà sul progetto
- Sulla sinistra clicckare su C/C++ Make Project
- Nei TAB selezionare Binary Parser
- Selezionare "PE Windows Parser"
Impressioni.
La prima impressione è che Eclipse è un po' pesante soprattutto quando voglio far partire il debugger integrato per debuggare.
Tra l'altro non sono riuscito ancora a fare lo step-by-step (ci ho provato una sola volta) probabilmente perché non ho compilato con -g (vedo un errore "No symbol table is loaded. Use the "file" command." e credo il problema sia questo).
Comunque è potrebbe rivelarsi utile per la compilazione di programmi fatti sotto Linux che sono stati portati sotto Windows attraverso MinGW (vd iaxclient ed ffmpeg): così in pratica si resta in sync più facilmente con il progetto "padre" visto che si devono convertire solo le funzioni presenti in linux e non in windows, piuttosto che lottare con gli specifici costrutti del compilatore.
Update
Il Debugger funziona quando creo progetti con Make file "Managed" (che vuol dire gestito direttamente dal'IDE); figo che in questo caso funziona anche la compilazione automatica in background di tutti i sorgenti!