Wie installiere ich Cross-Compiler unter Ubuntu 18.04?

Meine Proc-Informationen:

 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz Stepping: 9 CPU MHz: 1036.788 CPU max MHz: 3500,0000 CPU min MHz: 800,0000 BogoMIPS: 6000.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 6144K NUMA node0 CPU(s): 0-3 

Ich habe versucht:

sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi 

Wenn ich mich für Folgendes entscheide:

arm-linux-gcc arm-linux-gcc: command not found 

Wie installiere ich den Cross-Compiler?

Kommentare

  • Gemäß der -Dateiliste lautet der ausführbare Name des Compilers

Antwort

TLDR

Sie müssen arm-linux-gnueabi-gcc nicht arm-linux-gcc.


Es sieht so aus, als hätten Sie gerade den falschen Dateinamen erhalten apt-file ist ein nützliches Werkzeug.

sudo apt-get install apt-file sudo apt-file update apt-file search -x "gcc$" | grep "gcc-arm-linux-gnueabi" 

Hiermit wird jede Datei durchsucht, die mit gcc in einem beliebigen Paket mit gcc-arm-linux-gnueabi im Namen. Das Ergebnis ist:

gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc 

Wenn ja installiert gcc-arm-linux-gnueabi Sie sollten eine Datei /usr/bin/arm-linux-gnueabi-gcc haben.

Kommentare

  • Wenn Sie nach arm-linux-gnueabi suchen müssen, müssen Sie die Antwort bereits kennen ;-). apt-file search -x 'arm-linux.*gcc$' wäre besser erkennbar.
  • True. Es war in der Frage des OP ' unter " Ich habe versucht … " aber Wie Sie sagen, wenn Sie ' nicht wissen, ist auch eine gute Kenntnis der regulären Ausdrücke hilfreich.
  • Mein Punkt ist, dass das OP nicht wusste, welcher Befehl Ich konnte nicht wissen, wonach ich im Paketinhalt suchen soll (im Gegensatz zu Paketnamen).
  • Ich hatte keine Vorkenntnisse, bevor ich versuchte, es selbst zu finden. Die Suche in meiner Antwort besteht aus dem Paket, das sie bereits installiert haben, und gcc am Ende des Befehlsnamens – eine Verallgemeinerung dessen, was sie bereits versucht haben () – Es war das erste, was ich versucht habe.
  • Ich denke, ich finde es nur überraschend, apt-file search zu verwenden, um nach einem Paketnamen zu suchen (wie Sie es ausdrücken: „Dies durchsucht alle Pakete nach einer Datei oder einem Paket mit arm-linux-gnueabi„), wenn apt-file search nur den Paketinhalt durchsucht (welche findet übrigens auch Paketnamen dank /usr/share/doc/<package>/copyright).

Antwort

Wie steeldriver vorschlägt, haben Sie den Cross-Compiler bereits installiert. Das Problem ist, dass Sie den falschen Befehl verwenden, um ihn aufzurufen. Sie müssen im Allgemeinen das Präfix arm-linux-gnueabi- verwenden. Führen Sie also

arm-linux-gnueabi-gcc 

oder

arm-linux-gnueabi-g++ 

aus, und es sollte einwandfrei funktionieren.

Um dies selbst herauszufinden, können Sie mit dpkg -L den Inhalt der von Ihnen installierten Pakete auflisten:

dpkg -L gcc-arm-linux-gnueabi 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.