de|en

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

Für aktuelle Linux Distributionen liegen alle Komponenten bereits als fertige Pakete vor. Unter Debian oder Ubuntu braucht man zum Beispiel nur die Pakete eclipse-cdt, g++ und make installieren. Damit sind dann alle notwendigen Tools an Bord.

Windows: Java, Eclipse und MinGW

Unter Windows sollte man sich - falls nicht schon geschehen - zunächst ein aktuelles Java Runtime Environment von Oracle Java SE Downloads 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 entpackt es, zum Beispiel nach C:\Programme\eclipse.

Falls Eclipse schon vorhanden ist, kann man das CDT auch nachträglich ergänzen. Der Weg dahin führt über das Menü Help - Install New Software. Im sich öffnenden Dialog selektiert man zunächst die zur installierten Eclipse Version passende Download Site. Nach Auswahl des Eintrags C/C++ Development Tools (im Bereich Programming Languages) verläuft der Rest der Installation automatisch.

Es fehlt nun noch der C++ Compiler. Wenn man hier auch auf eine freie Variante zugreifen möchte, empfielt sich die Verwendung des MinGW - Minimalist GNU for Windows. 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 das MinGW Setup Programm mingw-get-setup.exe herunter und führt es aus. Es installiert zunächst den MinGW Installer. Diesen Installer startet man direkt aus dem Setup über Continue oder per Doppelklick auf das entsprechende Desktop Symbol. In der GUI wählt man dann zunächst Basic Setup und dann die Komponenten mingw32-base, mingw32-gcc-g++ und msys-base aus. Nach Aktivieren des Menüs Installation - Apply Changes lädt das Programm dann die ausgewählten Komponenten von der MinGW Site herunter und installiert sie.

Hat man als Installationsordner den Standardordner C:\MinGW übernommen, dann muss das Verzeichnis C:\MinGW\bin mit in die PATH Umgebungsvariable des Benutzers. (Man editiert die PATH Variable über Windows-Taste - Umgebungsvariablen .. bearbeiten.)

Jetzt aber los!

Nun müsste alles funktionieren: Nach dem Start von Eclipse wechselt man zuerst in die neue Perspektive C/C++. Nun legen wir unser erstes C++ Projekt an: File - New - C++ Project. Der Projektname ist frei wählbar, zum Beispiel FirstCDTProject. Als Toolchain wählt man MinGW GCC aus. Fehlt dieser Eintrag, dann findet Eclipse die MinGW Installation nicht. Überprüfen Sie dann noch einmal die PATH Umgebungsvariable und starten Sie Eclipse neu. 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 nennen sie 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;
}

Nach dem Abspeichern übersetzt und linkt man das Programm per Project - Build All oder Tastenkombination Strg B. Eventuelle Fehler sind mit einer roten Markierung gekennzeichnet. Das funktioniert natürlich 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 ein interessantes Feature: Die Code Completion, die während des Eintippens beim Aktivieren der Tastenkombination Strg Space passende Vorschläge zur Vervollständigung des Programmcodes macht:
Eclipse 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.