cygwin: andren gcc setzen

Gast #3588583
Lesenswert?
• ▲
▼
Hallo,
Anfängerfrage,

ich benutze Win7 und dort wurden ARM Compiler von einer SDK installiert.
Jetzt möchte ich mit Cygwin auf die ARM Compiler zugreifen.
Momentan kennt Cygwin gar kein gcc.
1
$ gcc
2
-bash: gcc: Kommando nicht gefunden.

Ich habe bereits eine Pfad angelegt:
1
$ export PATH=$PATH:/cygdrive/c/SDK/gnu/arm/nt/bin/

Aber wie verklicker ich Cygwin jetzt, daß er bei einem gcc-Aufruf in 
../bin nachschauen soll?
Außerdem befinden sich zwei Compiler im /bin. arm-eabi & 
arm-linux-gnueabi.
Wie kann ich geschickt zwischen den beiden auswählen, bevor gcc 
aufgerufen wird?

Danke
#3591650
Lesenswert?
• ▲
▼
Ich gehe mal davon aus, dass du ein Makefile benutzt. Und wenn nicht, 
leg dir eins an. Beide Versionen vom gcc in PATH eintragen.

Dann kannst du einfach mit
1
make CC=arm-eabi-gcc
oder mit
1
make CC=arm-linux-gnueabi-gcc
deinen Code erstellen

Wie du ein Makefile erstellst googlest du am besten (makefile tutorial 
deutsch).

Nur zur info gcc (ohne arm-eabi, aka Host/Target settings) benutzt du 
nur, um Programme zu erstellen die auf dem Rechner laufen sollen auf dem 
sie erstellt werden.
#3594036
Lesenswert?
• ▲
▼
olpo schrieb:
> Aber wie verklicker ich Cygwin jetzt, daß er bei einem gcc-Aufruf in
> ../bin nachschauen soll?

Das ist nicht so schlau.
gcc sollte weiterhin auf den nativen compiler (falls installiert) 
zeigen.
Der Cross-Compiler hat deshalb normalerweise einen anderen Namen, z.B. 
avr-gcc oder in in deinem Fall vielleicht arm-eabi-gcc und unter diesen 
Namen wird er aufgerufen.

Beim compilieren mit make gibt es ein Makro CC, das normalerweise auf 
gcc zeigt.
Beim Cross-compilieren kann man einfach das Macro überschreiben, so wie 
es Eduard beschrieben hat oder man fügt eine neue Regel ein

.c.o:
             arm-eabi-gcc -c $(CFLAGS) $(CPPFLAGS) -o $@ $<

mit der man die vordefinierte Regel zum compilieren von c-Files 
überschreibt.

Die Reihenfoge im Pfad hat übrigens nicht zur Sache, weil der 
Cross-Compiler einen anderen Namen hat. Wichtig ist nur, dass das 
Verzeichnis im Pfad ist, damit er überhaupt gefunden werden kann.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.