Le mie informazioni sul processo:
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
Ho provato:
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
Se scelgo:
arm-linux-gcc arm-linux-gcc: command not found
Come installare il cross-compilatore?
Commenti
Rispondi
TLDR
devi chiamare arm-linux-gnueabi-gcc
non arm-linux-gcc
.
Sembra che tu “abbia appena ottenuto il nome di file sbagliato. Per riferimento apt-file
è uno strumento utile.
sudo apt-get install apt-file sudo apt-file update apt-file search -x "gcc$" | grep "gcc-arm-linux-gnueabi"
Cerca qualsiasi file che termina gcc
in qualsiasi pacchetto con gcc-arm-linux-gnueabi
nel nome. Il risultato è:
gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc
Quindi se hai installato gcc-arm-linux-gnueabi
dovresti avere un file /usr/bin/arm-linux-gnueabi-gcc
.
Commenti
- Sapere di cercare
arm-linux-gnueabi
significa conoscere già la risposta ;-).apt-file search -x 'arm-linux.*gcc$'
sarebbe più rilevabile. - Vero. Era nella ' domanda dellOP sotto " Ho provato … " ma come dici tu, se ' non lo sai, è utile anche una buona conoscenza delle espressioni regolari.
- Il punto è che lOP non sapeva quale comando da eseguire, quindi non potevo sapere cosa cercare nel contenuto del pacchetto (al contrario dei nomi dei pacchetti).
- Non conoscevo nulla di tutto ciò prima di tentare di trovarlo da solo. La ricerca nella mia risposta è costituita dal pacchetto che hanno già installato e
gcc
alla fine del nome del comando – una generalizzazione di ciò che stavano già provando (arm-linux-gcc
) – È stata la prima cosa che ho provato .. - Penso di trovare sorprendente usare
apt-file search
per cercare il nome di un pacchetto (come dici tu, “Questo cerca in tutti i pacchetti un file o un pacchetto contenentearm-linux-gnueabi
“) quandoapt-file search
cerca solo il contenuto del pacchetto (che trova anche casualmente i nomi dei pacchetti, grazie a/usr/share/doc/<package>/copyright
).
Risposta
Come suggerisce steeldriver , hai già installato il cross-compilatore; il problema è che stai utilizzando il comando sbagliato per invocarlo, devi usare il prefisso arm-linux-gnueabi-
in generale. Quindi esegui
arm-linux-gnueabi-gcc
o
arm-linux-gnueabi-g++
e dovrebbe funzionare bene.
Per capirlo da solo, puoi utilizzare dpkg -L
per elencare il contenuto dei pacchetti che hai installato:
dpkg -L gcc-arm-linux-gnueabi
arm-linux-gnueabi-gcc