Forum: PC-Programmierung Compiler in eclipse wählen


von Daniel (Gast)


Lesenswert?

Hallo Elektronik-Freunde,

ich habe eclipse helios schon lange auf meinem Rechner installiert und 
programmiere lustig für meine Atmel-mcs software.

Nun wollte ich ein Projekt anlegen und einfach für windows compilieren.
Das sollte das einfachste sein was es gibt. HelloWorld so das einfach 
unten in der konsole von eclipse "HelloWorld" steht.
Als Compiler habe ich minGW runtergeladen. Im Path steht auch 
C:/mingw/bin.
Lege ich ein neues Projekt an kann ich auswählen 
"Executable/HelloWorldANSI C Project" und dann ist "MinGW GCC" 
ausgewählt.
Ist das Projekt erstellt, will ich compilieren und es kommt der Fehler: 
"Internal Builder: Cannot run programm "gcc"".
Das will ich doch garnicht. Wenn ich in die Projekteinstellungen gehe 
kann ich bei BuilderSettings nichts verändern.
Kann mir jemand sagen was ich falsch mache?
Wenn ihr noch zusatzinfos braucht schreibt einfach

von Programmierer (Gast)


Lesenswert?

Daniel schrieb:
> ich habe eclipse helios schon lange auf meinem Rechner installiert und
> programmiere lustig für meine Atmel-mcs software.

Nicht vielleicht doch mal eine Version verwenden, die jünger als 7 Jahre 
ist...? Dann kann man dir auch besser helfen, wenn man's selber 
reproduzieren kann...

Schau mal in den Projekteigenschaften unter C/C++ Build -> Tool Chain 
Editor. Da müsstest du MinGW auswählen können.

von Daniel (Gast)


Lesenswert?

Mit der neuen Version hast du selbstverständlich recht. Aber meine 
mikrocontroller projekte laufen alle mit dieser Version.
Da denke ich "Never change a running system..."


Unter Tool Chain Editor Ist bei Curren toolchain "MinGW GCC" eingetragen

von Programmierer (Gast)


Lesenswert?

PS: Falls "gcc" (gcc.exe) doch der richtige Name der ausführbaren Datei 
deiner MinGW-Version ist, ist eclipse vermutlich gar nicht schuld. 
Versuche mal, von einem cmd.exe Fenster aus "gcc" auszuführen. Wenn das 
nicht geht, geht's von eclipse aus auch nicht.

Daniel schrieb:
> Im Path steht auch
> C:/mingw/bin.
Nach Änderung von Umgebungsvariablen muss man eclipse übrigens neu 
starten (z.B. über Startmenü oder Desktop; nicht über irgendwelche 
anderen Tools, weil die ggf. die Variablen nicht neu laden).
Außerdem ist der /-Slash falsch; unter Windows muss es \ sein.

von Daniel (Gast)


Lesenswert?

Zusatzinfo:

Cannot run program "gcc" (in directory 
"C:\Users\daniel\workspace\ueben\Debug")

aber das file liegt unter c:/mingw/bin -> ich denke da liegt der hund 
begraben.

von Daniel (Gast)


Lesenswert?

Programmierer schrieb:
> Nach Änderung von Umgebungsvariablen muss man eclipse übrigens neu
> starten (z.B. über Startmenü oder Desktop; nicht über irgendwelche
> anderen Tools, weil die ggf. die Variablen nicht neu laden).
> Außerdem ist der /-Slash falsch; unter Windows muss es \ sein.

Danke für den hinweiß.
Habe den rechner neu gestartet. Leider keine Verbesserung

von Programmierer (Gast)


Lesenswert?

Daniel schrieb:
> Mit der neuen Version hast du selbstverständlich recht. Aber meine
> mikrocontroller projekte laufen alle mit dieser Version.
> Da denke ich "Never change a running system..."

Also ich freu mich immer über neue Versionen mit neuen Features, ggf. 
besserer Performance (des Kompilats) und (hoffentlich) weniger 
Fehlern...

Daniel schrieb:
> Cannot run program "gcc" (in directory
> "C:\Users\daniel\workspace\ueben\Debug")
>
> aber das file liegt unter c:/mingw/bin -> ich denke da liegt der hund
> begraben.
Das ist nur das Arbeitsverzeichnis. Das macht nix. Die Datei wird 
garantiert unter C:\mingw\bin sein, nicht C:/mingw/bin.

Starte mal ein cmd.exe-Fenster, führe "set Path" aus, dann einmal "gcc", 
und zeige einen Screenshot. Zeige außerdem den Inhalt des C:\mingw\bin 
Verzeichnisses.

von Daniel (Gast)


Lesenswert?

Programmierer schrieb:
> Das ist nur das Arbeitsverzeichnis. Das macht nix. Die Datei wird
> garantiert unter C:\mingw\bin sein, nicht C:/mingw/bin.

Da hast du natürlich recht und ich habe mich nur verschrieben.
Sorry

von Daniel (Gast)


Lesenswert?

Bild kann ich morgen früh hochladen.
Aber wenn ich set path mache kommt eine sehr lange ausgabe, mingw ist 
allerdings nicht dabei. :-(
Ist das nicht eine reine eclipse variable?

von Dr. Sommer (Gast)


Lesenswert?

Daniel schrieb:
> Aber wenn ich set path mache kommt eine sehr lange ausgabe, mingw ist
> allerdings nicht dabei. :-(
Dann ist das falsch.

Daniel schrieb:
> Ist das nicht eine reine eclipse variable?
Wo hast du die denn eingestellt?! Normalerweise packt man die in die 
System-Umgebungsvariablen:
http://techfrage.de/question/11483/windows-10-umgebungsvariablen-offnen-andern/

von Oliver S. (oliverso)


Lesenswert?

Programmierer schrieb:
> PS: Falls "gcc" (gcc.exe) doch der richtige Name der ausführbaren Datei
> deiner MinGW-Version ist, ist eclipse vermutlich gar nicht schuld.

Doch, ist es. Die automatische Erkennung der installierten Compiler ist 
leider völlig bescheuert.

Natürlich braucht Eclipse zunächst mal einen Pfad auf das Directory, in 
dem der Compiler zu finden ist. Entweder als Path oder in den Settings 
von Hand eingetragen.

Aber selbst dann funktioniert der interne builder nicht, weil der den 
Compiler nicht erkennt.

Mingw kommt üblicherweise mit sowas wie X86_64-w64-mingw32-gcc-7.20.exe 
und einer Kopie davon mit Namen gcc.exe. Beides erkennt Eclipse nicht.

Abbilfe schafft das Umbenennen des Compilers auf mingw32-gcc.exe

Will man dann auch noch make nutzen, ist es da umgekehrt. Da hat Mingw 
zwar ein mimgw32-make, aber da will Exlipse ein make.exe

Muß man nicht verstehen...

Oliver

: Bearbeitet durch User
von Programmierer (Gast)


Lesenswert?

Oliver S. schrieb:
> Will man dann auch noch make nutzen, ist es da umgekehrt. Da hat Mingw
> zwar ein mimgw32-make, aber da will Exlipse ein make.exe
Ja, weil das mingw32-make nur sehr rudimentär ist, und man sich lieber 
richtiges make separat installieren soll. Eclipse ist halt nicht dafür 
konzipiert, bestimmte MinGW-Distributionen zu erkennen. Zusätzlich zu 
make braucht man noch eine Shell und "rm". Eine einfache Möglichkeit 
dafür ist das hier:
https://gnu-mcu-eclipse.github.io/windows-build-tools/install/
Das gehört zwar zu den Tools zur ARM-Programmierung, aber das macht nix, 
die sind im Endeffekt nicht Ziel-Spezifisch.

von Daniel (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Wo hast du die denn eingestellt?! Normalerweise packt man die in die
> System-Umgebungsvariablen:

Das war die Lösung danke. Funktioniert jetzt.
Ich hatte die Variable bei den Eclipse-Path-Variablen hinzugefügt.
Das war wohl falsch.
Ich möchte mich bei allen bedanken die sich über mein Problem Gedanken 
gemacht haben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.