Moje proc informace:
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
Zkoušel jsem:
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
Pokud přejdu na:
arm-linux-gcc arm-linux-gcc: command not found
Jak nainstalovat cross-compiler?
Komentáře
Odpověď
TLDR
musíte zavolat arm-linux-gnueabi-gcc
ne arm-linux-gcc
.
Vypadá to, že jste právě dostali nesprávný název souboru. Pro referenci apt-file
je užitečný nástroj.
sudo apt-get install apt-file sudo apt-file update apt-file search -x "gcc$" | grep "gcc-arm-linux-gnueabi"
Toto prohledá jakýkoli soubor končící gcc
v libovolném balíčku s názvem gcc-arm-linux-gnueabi
. Výsledek je:
gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc
Takže pokud máte nainstalováno gcc-arm-linux-gnueabi
měli byste mít soubor /usr/bin/arm-linux-gnueabi-gcc
.
Komentáře
- Vědět hledat
arm-linux-gnueabi
znamená znát odpověď již ;-).apt-file search -x 'arm-linux.*gcc$'
by bylo lépe zjistitelné. - Je to pravda. Bylo to v otázce OP ' v části " Snažil jsem se … " ale jak říkáte, pokud ' nevíte, dobrá znalost regulárních výrazů je také užitečná.
- Chci říct, že OP nevěděl, jaký příkaz spustit, takže jsem nemohl vědět, co hledat v obsahu balíčku (na rozdíl od názvů balíků).
- Předtím, než jsem se o to pokusil najít sám, neměl jsem o ničem z toho žádné předchozí znalosti. Hledání v mé odpovědi je postaveno z balíčku, který již nainstalovali, a
gcc
na konci názvu příkazu – zobecnění toho, co už zkoušeli (arm-linux-gcc
) – Byla to první věc, kterou jsem vyzkoušel .. - Myslím, že mě překvapilo použití
apt-file search
k vyhledání názvu balíčku (Jak jste řekli: „Toto prohledá všechny balíčky po souboru nebo balíčku obsahujícímarm-linux-gnueabi
„), kdyžapt-file search
prohledá pouze obsah balíčku (který mimochodem také najde názvy balíků díky/usr/share/doc/<package>/copyright
).
Odpovědět
Jak steeldriver naznačuje, křížový kompilátor jste již nainstalovali; problém je v tom, že k jeho vyvolání používáte nesprávný příkaz, musíte obecně použít předponu arm-linux-gnueabi-
. Takže spusťte
arm-linux-gnueabi-gcc
nebo
arm-linux-gnueabi-g++
a mělo by to fungovat dobře.
Chcete-li to zjistit sami, můžete pomocí dpkg -L
vypsat obsah balíčků, které jste nainstalovali:
dpkg -L gcc-arm-linux-gnueabi
arm-linux-gnueabi-gcc