Informațiile mele despre proc:
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
Am încercat:
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
Dacă merg pentru:
arm-linux-gcc arm-linux-gcc: command not found
Cum se instalează cross-compiler?
Comentarii
Răspuns
TLDR
trebuie să apelați arm-linux-gnueabi-gcc
nu arm-linux-gcc
.
Se pare că tocmai ați primit numele de fișier greșit. Pentru referință apt-file
este un instrument util.
sudo apt-get install apt-file sudo apt-file update apt-file search -x "gcc$" | grep "gcc-arm-linux-gnueabi"
Acesta caută orice fișier care se termină gcc
în orice pachet cu gcc-arm-linux-gnueabi
în nume. Rezultatul este:
gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc
Deci, dacă aveți instalat gcc-arm-linux-gnueabi
ar trebui să aveți un fișier /usr/bin/arm-linux-gnueabi-gcc
.
Comentarii
- A ști să căutați
arm-linux-gnueabi
înseamnă să cunoașteți deja răspunsul ;-).apt-file search -x 'arm-linux.*gcc$'
ar fi mai ușor de descoperit. - Adevărat. A fost în întrebarea OP ' sub " Am încercat … " dar după cum spuneți, dacă ' nu știți, este utilă și o bună cunoaștere a expresiilor regulate.
- Punctul meu este că OP nu știa ce comandă să rulez, așa că nu am putut ști ce să caut în conținutul pachetului (spre deosebire de numele pachetelor).
- Nu aveam cunoștințe anterioare despre toate acestea înainte de a încerca să îl găsesc eu. Căutarea din răspunsul meu este construită din pachetul pe care l-au instalat deja și
gcc
la sfârșitul numelui comenzii – o generalizare a ceea ce încercau deja (arm-linux-gcc
) – A fost primul lucru pe care l-am încercat .. - Cred că mi se pare surprinzător să folosesc
apt-file search
pentru a căuta un nume de pachet (după cum ați spus, „Aceasta caută toate pachetele pentru un fișier sau pachet care conținearm-linux-gnueabi
”) cândapt-file search
caută numai conținutul pachetului găsește, de asemenea, întâmplător, numele pachetelor, datorită/usr/share/doc/<package>/copyright
).
Răspuns
După cum sugerează steeldriver , ați instalat deja cross-compiler; problema este că utilizați comanda greșită pentru a o invoca, trebuie să utilizați prefixul arm-linux-gnueabi-
în general. Așa că rulați
arm-linux-gnueabi-gcc
sau
arm-linux-gnueabi-g++
și ar trebui să funcționeze bine.
Pentru a-ți da seama singur, poți folosi dpkg -L
pentru a lista conținutul pachetelor pe care le-ai instalat:
dpkg -L gcc-arm-linux-gnueabi
arm-linux-gnueabi-gcc