C-Code und Eclipse

Ich möchte unter Windows C-Code übersetzen und dafür den Open-Source-Compiler gcc verwenden. Dazu setze ich – wie auch von c’t unter anderem für das c’t-Bot-Projekt empfohlen – Eclipse mit der CDT-Erweiterung ein. Compiler und Tools stammen aus dem Mingw-Paket. Stoße ich den Build-Prozess (Project clean) an, legt der Compiler auch los, bricht aber sofort mit kryptischen Fehlermeldungen ab. Was kann ich tun?

vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 2 Min.
Von
  • Benjamin Benz

Ich möchte unter Windows C-Code übersetzen und dafür den Open-Source-Compiler gcc verwenden. Dazu setze ich – wie auch von c’t unter anderem für das c’t-Bot-Projekt empfohlen – Eclipse mit der CDT-Erweiterung ein. Compiler und Tools stammen aus dem Mingw-Paket. Stoße ich den Build-Prozess (Project clean) an, legt der Compiler auch los, bricht aber sofort mit kryptischen Fehlermeldungen ab. Was kann ich tun?

Eclipse akzeptiert nicht nur absolute Pfade, sondern man kann sich mit Hilfe von Variablen wie ${eclipse_home} auch auf Arbeits- oder Installationsverzeichnisse beziehen.

Wenn der gcc oder genauer das Make-Skript unter Windows zickt, dann liegt das fast immer an falschen oder fehlenden Pfadangaben. Besonders haarig wird es, wenn auf dem Rechner außer dem gewünschten gcc noch andere Compiler installiert und in der Windows-Umgebungsvariable PATH eingetragen sind. Die können beispielsweise Bestandteil von Entwicklungsumgebungen wie Visual Studio sein oder zum Android SDK oder zu Mikrocontroller-Tools gehören.

Unter Eclipse gibt es einen ganz einfachen Weg, die Pfade manuell zu setzen: Öffnen Sie die globalen Einstellungen („Window/Preferences“) und navigieren Sie zu „C/C++/Build/Environment“. Dort können Sie durch einen Klick auf „Add“ einen Eintrag für die Umgebungsvariable „PATH“ erstellen. Es gilt: Weniger ist mehr; geben Sie also nur die wirklich benötigten Tools an – sprich Mingw und Msys. Liegt ein aktuelles Mingw beispielsweise unter C:\Mingw, könnte der Eintrag so aussehen:

C:\mingw\bin;C:\mingw\msys\1.0\bin

Mit diesem PATH-Eintrag findet das Build-System zwar Compiler, Linker und Co., meckert aber vermutlich, weil die Pfade zu den Standard-Include- und -Header-Dateien fehlen. Verantwortlich dafür zeichnen die Variablen CPATH und LIBRARY_PATH. Analog zu PATH sollten sie in diesem Beispiel auf die Unterverzeichnisse von C:\Mingw verweisen. Damit Altlasten aus Umgebungsvariablen nicht querschießen, klicken Sie noch die Option „Replace native environment with specified one“ an. (bbe)