| Zeile 1: | Zeile 1: | ||
Ein Cross-Compiler ist ein [[:Kategorie:Compiler | Compiler]], der Objektdateien für eine andere Plattform (Zielplattform oder target) als die Verwendete (host) erzeugt. Die Zielplattform kann sich dabei sowohl beim [[Betriebssystem]], als auch beim verwendeten Prozessor unterscheiden. | Ein Cross-Compiler ist ein [[:Kategorie:Compiler | Compiler]], der Objektdateien für eine andere Plattform (Zielplattform oder target) als die Verwendete (host) erzeugt. Die Zielplattform kann sich dabei sowohl beim [[Betriebssystem]], als auch beim verwendeten Prozessor unterscheiden. | ||
| + | |||
== Anforderungen == | == Anforderungen == | ||
| Zeile 49: | Zeile 50: | ||
$ make install | $ make install | ||
$ cd .. | $ cd .. | ||
| + | |||
== gcc == | == gcc == | ||
| Zeile 75: | Zeile 77: | ||
Nachdem gcc fertig kompiliert ist, kann er installiert werden. Das geschieht mit diesem Befehl: | Nachdem gcc fertig kompiliert ist, kann er installiert werden. Das geschieht mit diesem Befehl: | ||
$ make install-gcc install-target-libgcc | $ make install-gcc install-target-libgcc | ||
| + | |||
== Benutzung == | == Benutzung == | ||
Beim Kompilieren von Programmen mit dem neuen Crosscompiler muss daran gedacht werden, dass dieser nur zum Kompilieren und nicht zum Linken benutzt werden kann, denn dafür fehlt eine installierte Libc. Deshalb muss der gcc mit dem -c Flag aufgerufen wird, damit er nur den Präprozessor aufruft und den Quellcode kompiliert aber nicht linkt. | Beim Kompilieren von Programmen mit dem neuen Crosscompiler muss daran gedacht werden, dass dieser nur zum Kompilieren und nicht zum Linken benutzt werden kann, denn dafür fehlt eine installierte Libc. Deshalb muss der gcc mit dem -c Flag aufgerufen wird, damit er nur den Präprozessor aufruft und den Quellcode kompiliert aber nicht linkt. | ||
Außerdem muss beachtet werden, dass der cross-kompilierte gcc nicht über das Kommando 'gcc' sondern über '/user/local/crosstools/bin/i386-elf-gcc' erreichbar ist. Dies gilt auch für g++ und alle Tools aus den binutils. | Außerdem muss beachtet werden, dass der cross-kompilierte gcc nicht über das Kommando 'gcc' sondern über '/user/local/crosstools/bin/i386-elf-gcc' erreichbar ist. Dies gilt auch für g++ und alle Tools aus den binutils. | ||
| + | |||
| + | |||
| + | == Siehe auch == | ||
| + | * [[X86-64_Cross-Compiler|Cross-Compiler für x86-64-Systeme]] | ||
| + | * [[ARM_Cross-Compiler|Cross-Compiler für ARM-Systeme]] | ||
| + | * [[Crosscompiler_für_Windows|Cross-Compiler für Windows (erzeugt ELF-Dateien)]] | ||
[[Kategorie:Compiler]] | [[Kategorie:Compiler]] | ||