Hvordan installere kryss-kompilator på Ubuntu 18.04?

Min proc-info:

 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 

Jeg prøvde:

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

Hvis jeg går for:

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

Hvordan installere kryss-kompilator?

Kommentarer

  • I henhold til filliste er kompilatorens kjørbare navn arm-linux-gnueabi-gcc

Svar

TLDR

du må ringe arm-linux-gnueabi-gcc ikke arm-linux-gcc.


Det ser ut til at du nettopp har fått feil filnavn. For referanse apt-file er et nyttig verktøy.

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

Dette søker i en hvilken som helst fil som slutter gcc i en hvilken som helst pakke med gcc-arm-linux-gnueabi i navnet. Resultatet er:

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

Så hvis du har installert gcc-arm-linux-gnueabi du bør ha en fil /usr/bin/arm-linux-gnueabi-gcc.

Kommentarer

  • Å vite å søke etter arm-linux-gnueabi betyr å vite svaret allerede ;-). apt-file search -x 'arm-linux.*gcc$' ville være mer synlig.
  • Sant. Det var i OP ' s spørsmål under " Jeg prøvde … " men som du sier, hvis du ikke vet ', er god kunnskap om regulære uttrykk også nyttig.
  • Poenget mitt er at OP ikke visste hvilken kommando å kjøre, så kunne ikke vite hva jeg skulle søke etter i innholdet i pakken (i motsetning til pakkenavn).
  • Jeg hadde ingen forkunnskaper om noe av dette før jeg prøvde å finne det selv. Søket i svaret mitt er konstruert av pakken de allerede installerte og gcc på slutten av kommandonavnet – en generalisering av hva de allerede prøvde (arm-linux-gcc) – Det var det første jeg prøvde ..
  • Jeg tror det bare er overraskende å bruke apt-file search for å lete etter et pakkenavn (som du sier det, «Dette søker i alle pakker etter en fil eller pakke som inneholder arm-linux-gnueabi«) når apt-file search bare søker i pakkeinnholdet (som finner for øvrig også pakkenavn takket være /usr/share/doc/<package>/copyright).

Svar

Som steeldriver antyder, har du allerede installert kryss-kompilatoren; problemet er at du bruker feil kommando for å påkalle den, du må bruke prefikset arm-linux-gnueabi- generelt. Så kjør

arm-linux-gnueabi-gcc 

eller

arm-linux-gnueabi-g++ 

og det skal fungere bra.

For å finne ut av dette selv, kan du bruke dpkg -L til å liste opp innholdet i pakkene du har installert:

dpkg -L gcc-arm-linux-gnueabi 

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *