Forum: Compiler & IDEs Mehrere gcc Distributionen auf Windows


von Felix C. (felix_c13)


Lesenswert?

Hallo allerseits,

ich versuche schon seit langem mich mal in die Welt des gcc 
einzuarbeiten. Noch immer scheint mir dies ein verschlossenes Buch zu 
sein, allerdings konnte ich doch erste Erfolge erzielen.

Ich habe Cygwin installiert (bin Windows-Nutzer) und habe Cygwin auch zu 
den Umgebungsvariablen hinzugefügt. Ich kann nun die ganzen Tools wie 
make, gcc und so weiter auch schon aus der Kommandozeile verwenden, dass 
funktioniert alles prima.

Jedoch interessiert mich primär das Entwickeln von Embedded Systemen. 
Hier scheint es ja bezüglich "prebuild" Toolchains eine Menge Auswahl zu 
geben.

Codesourcery oder Yagarto sollen ja beide auf dem gcc basieren. Auch 
kann/muss ich für beide eigenen Makefiles schreiben bzw. Templates 
anpassen. Was unterscheidet denn nun solche Toolchains? Mir scheint, 
dass ich das Prinzip einer Toolchain auch noch nicht ganz verstanden 
habe.

Ist die Toolchain einfach die Reihe aus installierten Programmen, die es 
mir erlaubt Befehle wie "make" oder "gcc" oder "as" zu verwenden?

Wäre dem so, wie kann ich dann mehrere Toolchains gleichzeitig benutzen, 
ohne mich z.B. an Eclipse zu binden? Also rein aus der Kommandozeile 
heraus? Er muss ja wissen, wen ich meine? Oder müsste ich dann die 
Umgebungsvariablen anpassen um immer auf jemand anderen zu zeigen?

Dank und Gruss

Felix

von Markus F. (mfro)


Lesenswert?

gcc hat eigentlich ein sehr klares Konzept für Cross Compiler (das der 
ein oder andere Toolchain-Lieferant aber immer mal wieder kaputt 
kriegt):

Der native Compiler (also der, der Code für den Host erzeugt) heisst 
einfach "gcc" (man kann ihn aber auch mit Vor- und Nachname ansprechen, 
s.u.).

Der (oder die) Cross-Compiler heissen 'cpu-systemtyp-hersteller'. Also 
z.B. "i386-linux-gnu-gcc" oder (weniger konsistent) "m68k-elf-gcc", 
"arm-none-eabi-gcc".

Das einzig plattformunabhängige ist der Compiler, der Assembler und die 
bfd-Tools wie Linker, objdump und objcopy (make und Konsorten passen für 
alle Zielarchitekturen).

Wenn Du mehrere Compiler installiert hast, sollten die Cross-Tools immer 
mit vollem Namen angesprochen werden (obwohl's auch anders geht, indem 
man den Suchpfad auf das entsprechende Verzeichnis setzt aber damit 
kommst Du früher oder später durcheinander).

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.