Überprüfen Sie heraus:
http://www.kegel.com/crosstool/
Dies ist die maßgebende Seite zum Thema Cross-Compiling unter GCC.
Sie haben recht, Sie brauchen eine richtige mips-Toolchain um Ihre Anwendung zu kompilieren, und Buildroot kann das tun. Möglicherweise müssen Sie jedoch die Menükonfiguration von buildroot anpassen Optionen.Abhängig von der Ausgabe von file
, Ihre Optionen können sich ändern. Auf meinem System informieren Binär-Apps Folgendes:
ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1 (SYSV)
Dies sind die Optionen, die ich für die Menükonfiguration meines Buildroot aktiviert habe:
Target Architecture (mips) --->
Target Architecture Variant (mips 32r2) --->
Target ABI (o32) --->
Target options --->
Build options --->
(/opt/cross-mips-buildroot) Toolchain and header file location?
Toolchain --->
Toolchain type (Buildroot toolchain) --->
Kernel Headers (Linux 2.6.34.x kernel headers) --->
uClibc C library Version (uClibc 0.9.31.x) --->
[*] Build/install a shared libgcc?
[*] Enable compiler tls support
[*] Build gdb debugger for the Target
[*] Build gdb server for the Target
[*] Build gdb for the Host
GDB debugger Version (gdb 6.8) --->
[*] Enable large file (files > 2 GB) support?
[*] Enable WCHAR support
[*] Use software floating point by default
[*] Enable stack protection support
[*] Build/install c++ compiler and libstdc++?
[*] Include target utils in cross toolchain
Package Selection for the target --->
[*] BusyBox
[*] Run BusyBox's own full installation
Libraries --->
Networking --->
[*] libcurl
Text and terminal handling --->
[*] icu
-*- ncurses
Target filesystem options --->
Bootloaders --->
Kernel --->
Die Toolchain selbst wird unter /opt/cross-mips-buildroot installiert . Sie finden den Compiler und andere Tools unter /opt/cross-mips-buildroot/usr/bin/
Versuchen Sie, ein einfaches Hallo Welt zu kompilieren Anwendung und prüfen Sie, ob Sie sie innerhalb des Mips-Systems ausführen können.
Hinweis: Diese Konfiguration erstellt keinen C++-Compiler. Wenn Sie es brauchen, können Sie grep LIBSTDCPP .config
und prüfen Sie, ob es aktiviert ist oder nicht, und ändern Sie es nach Ihren Wünschen. Dann make menuconfig
um es möglich zu machen.