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
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 inneholderarm-linux-gnueabi
«) nårapt-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
arm-linux-gnueabi-gcc