Ein C++ Entwicklungssystem für Windows aus freier Software zusammenstellen
(10.08.04)

Da dieses Thema in den Newsgroups öfter gefragt wird und ich selber feststellen musste, dass man als Einsteiger einiges lernen muss, bis das alles läuft, könnt ihr hier meine Notizen zum Thema und diese Einleitung nachlesen. In der Version 1.0, vielleicht wird es noch schöner. ;o)

Statt eine komplette IDE einer großen Firma zu verwenden, wie z..B. Visual C++ von Microsoft oder Borland C++ von Inprise (oder wie auch immer das jetzt gerade mal wieder heißt), kann man auch eine freie Alternative verwenden, oder sich die Entwicklungsumgebung selber zusammenstellen, indem man freie Compiler, GUI-Bibliotheken und Editoren verwendet.

Freie komplette Entwicklungsumgebungen sind DevCPP oder MinGW-Studio.

Beide Entwicklungsumgebungen unterstützen die sehr verbreitete GUI-Bibliothek wxWindows, DevCPP zusätzlich noch die FLTK. Beide installieren sich menügeführt und sind für Einsteiger damit sehr gut geeignet. Ein paar Mal klicken und es geht.

Man kann aber noch einen Schritt weiter gehen und sich die Entwicklungsumgebung komplett selber zusammenstellen, bzw. man besorgt sich einen Compiler und einen Editor und macht alles von Hand. Frei zu benutzende Compiler gibt es auch von Microsoft und Borland, ich finde nur gerade die URL nicht.

Normalerweise wird aber die GCC - Gnu Compiler Collection verwendet. Gnu ist eine rekursive Spielerei, enthält sich selber und heißt "Gnu is not Unix". Da wird es zwar oft verwendet, aber man kann ein Gnu eben auch unter Windows laufen lassen und zwar mit einem MinGW     - Minimalist GNU for Windows., wobei dieses ja schon im MinGW-Studio erwähnt wurde.

Für Windows und andere Systeme kann man dann noch eine GUI aussuchen und loslegen.

Ich habe mir dann das nachfolgende System zusammengestellt, wobei ich das Fast Light Toolkit FLTK mit dem GUI-Editor Fluid benutze. Die FLTK ist leicht zu lernen, enthält alle wichtigen Steuerelemente (und jede Menge weitere kann man sich von der Homepage holen) und ist ziemlich systemunabhängig. Mit etwas Übung geht es vor allem richtig flott und funktioniert genau wie ich es mir vorstelle - bin begeistert!

Als "Editor" hatte ich mir die brandneue Eclipse 3.0 ausgewählt und finde ebenfalls, dass man damit richtig gut arbeiten kann.

Allerdings habe ich inzwischen festgestellt, dass meine Komponenten nicht ganz kompatibel waren. Das nachfolgende System funktioniert bis auf die Zusammenarbeit mit dem Debugger hervorragend. Eclipse kommt aber mit dem Gdb-5.2.1 manchmal nicht zurecht, deshalb sollte der Gdb 6.0 installiert werden. Beim MinGW-Studio-Paket ist der dabei und man könnte das einfach installieren und die Eclipse über den DOS-Pfad da einbinden, hat dann allerdings das Problem, dass die FLTK 1.1.4 dann nicht kompiliert. Der Fehler ist in der FLTK 1.1.5 behoben, aber die ist gerade noch Release-Candidate. Weil ich gerade keine Zeit habe, mir den selber zu compilieren, habe ich das MinGW-Studio trotzdem installiert und in der Eclipse einfach diesen Debugger eingestellt (Reiter "Debugger" im Debug-Dialog.
Wer also nicht vor einem RC zurückschreckt, nimmt einfach MinGW-Studio und die FLTK 1.1.5.
Es gibt übrigens noch ein Installationspaket, bei dem man sich die Programme nicht selber bauen musste, aber das lief wegen WinNT nicht bei mir (URL finde ich auch gerade nicht).

Update 01.10.04

Na gut, die Eclipse hatte doch noch so ein paar Problemchen, aber das letzte Update hat mich richtig glücklich gemacht. :o)
Bei der Installation habe ich noch ein paar Tricks gelernt (beim rumspammen in der Newsgroup ;o) und der entsprechende Abschnitt ist geändert. Was die FLTK angeht, so ist gerade der letzte RC herausgegangen und die 1.1.5 ist jetzt wohl bald die aktuelle stabile Version.

C++-Entwicklungssystem installieren

MinGW  auf Sourceforge.net suchen, wenn diese Dateiliste nicht funktioniert (Version "Current"!)

Zuerst das MinGW (Minimal GNU for Windows) mit C++-Compiler (make) und Debugger  (gdb) in folgender Reihenfolge installieren:

MinGW-3.1.0-1.exe System allgemein
mingw32-make-3.80.0-3.exe C++ Make
gdb-5.2.1-1.exe Gnu-Debug
MSYS-1.0.11-2004.04.30-1.exe Eingabefenster für Compilierung im Linux-Stil, Linux-Tools
msysDTK-1.0.1.exe
Zubehör zum Eingabefenster
       
Mit dieser Konfiguration können schon Windows-Programme erstellt werden. Es können z.B. mit MSys Bibliotheken wie die FLTK im Linux-Stil mit make erstellt werden. Die Datei "mingw32-make.exe" sollte vorher als "make.exe" kopiert werden, da die meisten Scripts diesen Namen verwenden.

Eclipse (www.eclipse.org und  http://update.eclipse.org/tools/cdt/releases/new)

Für die Eclipse-IDE  müssen im PATH Pfade auf MinGW/bin und msys/1.0/bin eingetragen werden. Die sind notwendig, damit Eclipse automatisch die MinGW-Installation verwendet. Der Path wird bei Windows ab WinNt übrigens nicht mehr über die Autoexec festgelegt, sondern über die Eigenschaften des Arbeitsplatzes. Ich habe hier ein Bild von WinNT und mir sagen lassen, dass das unter XP schlecht zu finden ist...

Zur Installation von Eclipse wird zuerst die Datei "eclipse-platform-3.0.1-win32.zip" heruntergeladen - oder die entsprechende gerade aktuelle Version. Den Ordner "Eclipse" an die gewünschte Stelle entpacken (z.B. c:\Programme), "eclipse.exe" starten und mit der Installation fortfahren.
Dazu wird [Help] -> [Software Updates] -> [ Find and Install] aufgerufen und  "search for new features". Auf der nächsten Seite muss für die Installation des CDT die [New Remote Site] eingegeben werden, das wäre "http://update.eclipse.org/tools/cdt/releases/new". Dort dann das aktuellste CDT aussuchen, installieren, neu starten und loslegen.  (Wenn jemand herausfindet, wie man da die UML2 herunterlädt, wäre es nett, wenn er mir Bescheid sagt. ;o)

Die Verknüpfung mit dem Compiler erfolgt über die Änderung des Systempfades, wie oben angegeben.

FLTK (www.fltk.org)

Die FLTK wird ebenfalls nur in ein geeignetes Verzeichnis entpackt und über die MSys-Konsole installiert (Siehe auch FLTK_MinGW.doc). Mit "ls" wird das Verzeichnis angezeigt und man darf keinen Backslash "\" verwenden.

        cd c:/fltk-1.1.9
       ./configure
       make

"make install" kann man sich schenken, weil die Pfade alle nicht passen und es viel zu umständlich ist, die anzugeben. Jetzt sollten in  fltk-1.1.9/lib Dateien wie "libfltk.a" zu finden sein und die müssen in das "lib"-Verzeichnis der MinGW verschoben oder kopiert werden.
Nun hat man alles beisammen und muss der Eclipse nur noch mitteilen, welche Konfiguration für das Build benötigt wird - siehe folgende Bildschirmfotos. Dabei muss man die Pfade auf die verwendeten Include-Dateien und Bibliotheken angeben und zwar für alle Konfigurationen, also normalerweise für Debug und Release.







Damit kann man endlich die HelloWorld der Fltk erstellen und danach mit etwas Größerem weiter machen.

HTH,

Ed