C++ programmieren mit Eclipse CDT

Martin Kompf

Das Eclipse C/C++ Development Toolkit (CDT) kombiniert das Look and Feel von Eclipse mit der Power des GNU Compilers.

Die Eclipse IDE ist ein unter Java Entwicklern wohlbekanntes, frei verfügbares Toolkit für die Softwareentwicklung. Insbesondere der leistungsfähige Editor mit Codevervollständigung, die Projektverwaltung und die große Anzahl von Plugins machen es zu einem gern verwendeten Werkzeug. Aber auch für C und C++ Entwickler ist Eclipse interessant: Das C/C++ Development Toolkit (CDT) erlaubt das komfortable Erstellen und Verwalten von in C oder C++ geschriebenen Programmen. Dabei sind die Managed Make Projekte besonders hervorzuheben, entlasten sie doch den Programmautor von der ungeliebten und fehlerträchtigen Erstellung der Make-Files.

Eclipse CDT benötigt als Voraussetzung einen installierten GNU C (gcc) beziehungsweise C++ Compiler (g++) sowie diverse weitere Hilfsprogramme, wie make, ld, cpp. Außerdem ist für den Betrieb von Eclipse natürlich ein Java Runtime Environment (JRE) erforderlich.

Die Vorgehensweise bei der Installation dieser Komponenten hängt vom verwendeten Betriebssystem und der bereits vorhandenen Software ab.

Linux hat alle Voraussetzungen an Bord

Unter Linux liegen die meisten Komponenten bereits als fertiges Paket vor. Unter Debian Etch muss man zum Beispiel die Pakete eclipse, sun-java5-jre, g++ und make installieren. Damit sind dann alle notwendigen Voraussetzungen vorhanden, es fehlt nur das CDT. Dieses installiert man im Eclipse selbst: Über das Menü Help - Software Updates - Find and Install öffnet sich ein Dialog, in dem man Search for new features to install auswählt. Im nächsten Schritt (Next) definiert man eine neue Remote Site und trägt dort die URL http://download.eclipse.org/tools/cdt/releases/callisto ein. Nach Auswahl des CDT im nächsten Schritt verläuft der Rest der Installation automatisch.

Windows: Java, Eclipse und MinGW

Unter Windows sollte man sich - falls nicht schon geschehen - zunächst ein aktuelles Java 5 Runtime Environment von Suns Java Seite herunterladen und installieren. Danach holt man sich am besten das schon fertig gepackte Eclipse IDE for C/C++ Developers Paket von der Eclipse Download Seite und installiert es.

Falls Eclipse - zum Beispiel für die Java Entwicklung - schon vorhanden ist, kann man auch das CDT nachträglich ergänzen, die Vorgehensweise ist wie oben beschrieben und führt über Help - Software Updates - Find and Install.

Es fehlt nun noch der C++ Compiler. Wenn man hier auch auf eine freie Variante zugreifen möchte, empfielt sich die Verwendung des MinGW. Das ist eine Kollektion frei verfügbarer Compiler, Tools, Headers und Libraries auf Basis von GNU zur Erzeugung von Windows Programmen. Die Installation geht zügig vonstatten:

Auf der Downloadseite lädt man sich im Bereich Current das MinGW Setup Programm herunter (zur Zeit der der Erstellung des Artikels war das MinGW-5.1.3.exe). Nach dem Start des Setups wählt man die Komponenten runtime, win32api, binutils, core, gpp und make aus. Das Programm lädt dann die ausgewählten Komponenten von der MinGW Site herunter und installiert sie.

Als Installationsordner wählt man zum Beispiel C:\MinGW. Dann muss das Verzeichnis C:\MinGW\bin mit in die PATH Umgebungsvariable des Benutzers. (Unter Windows 2000/XP editiert man die PATH Variable unter Arbeitsplatz - Eigenschaften - Erweitert - Umgebungsvariablen.) Damit die CDT reibungslos mit MinGW zusammenarbeitet, sind noch kleinere Nacharbeiten notwendig: Im Verzeichnis C:\MinGW\bin ist die Datei mingw32-make.exe in make.exe umzubenennen. Außerdem legt man in diesem Verzeichnis noch die Datei rm.bat mit folgendem Inhalt an:

@del $*

Jetzt aber los!

Nun müsste alles funktionieren: Nach dem Start von Eclipse bietet es die neue Perspektive C/C++ an. Nun legen wir unser erstes C++ Projekt an: File - New - Managed Make C++ Project. Der Projektname ist frei wählbar, zum Beispiel FirstCDTProject. Im Projektexplorer erscheint nun das neue Projekt mit einem Satz von Standard Includeverzeichnissen. Durch Klick mit der rechten Maustaste auf den Projektordner lässt sich per New - Sourcefile eine neue C++ Quellcodedatei erzeugen. Wir geben ihr dann den Namen first.cpp und geben den folgenden Inhalt ein:

#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char **argv)
{
    char *c;
    string greeting("Hallo ");
    
    if (NULL != (c = getenv("USER"))) {
        greeting.append(c);
    } 
    else if (NULL != (c = getenv("USERNAME"))) {
        greeting.append(c);
    }   
    else {
        greeting.append("wer bist du denn?");
    }
            
    cout << greeting << endl;
    
    return 0;
}

Beim Abspeichern wird - falls unter Window - Preferences - Workspace die Option Build Automtically eingeschaltet ist, das Programm sofort übersetzt und gelinkt. Fehler werden mit einer roten Markierung gekennzeichnet. Das funktioniert Dank des automatisch generierten Makefiles auch bei größeren Projekten, die aus mehreren Quelltextdateien bestehen! Per Rechte Maustaste - Run As lässt sich das Programm dann ausführen.

Wenn man den Sourcecode per Copy&Paste ins CDT transportiert hat, entgeht einem übrigens ein interessantes Feature: Die Code Completetion, die während des Eintippens beim Aktivieren der Tastenkombination Strg Space passende Vorschläge zur Vervollständigung des Programmcodes macht:
Eclispe Code Completion

Insgesamt hat man mit dem CDT eine leistungsfähige IDE für die C und C++ Programmierung zur Verfügung, die sich dem erfahrenen Eclipse Anwender sofort intuitiv erschließt. Sie funktioniert unter Linux und Windows gleichermaßen - leider enthebt sie den Programmierer noch nicht von der Portierung seiner Programme zwischen den beiden Betriebssystemen.