Hogyan telepítsem a cross-compilert az Ubuntu 18.04-re?

A proc információm:

 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 

Próbáltam:

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

Ha erre törekszem:

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

Hogyan telepítsem a keresztfordítót?

Megjegyzések

  • A fájllista szerint a fordító futtatható neve arm-linux-gnueabi-gcc

Válasz

TLDR

hívnia kell a arm-linux-gnueabi-gcc nem arm-linux-gcc.


Úgy tűnik, hogy éppen rossz fájlnevet kapott. A apt-file egy hasznos eszköz.

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

Ez bármilyen gcc bármely csomagban, amelynek gcc-arm-linux-gnueabi a neve. Az eredmény:

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

Tehát, ha van telepítve van gcc-arm-linux-gnueabi, rendelkeznie kell egy /usr/bin/arm-linux-gnueabi-gcc fájllal.

Megjegyzések

  • A arm-linux-gnueabi keresésére való tudás azt jelenti, hogy már ismeri a választ ;-). A apt-file search -x 'arm-linux.*gcc$' jobban felfedezhető lenne.
  • Igaz. Ez benne volt az OP ' kérdésben a " részben. Megpróbáltam … " ahogy mondod, ha nem tudod ', akkor a reguláris kifejezések jó ismerete is hasznos.
  • Az a lényeg, hogy az OP nem tudta, milyen parancs futni, ezért nem tudhatta, hogy mit keressen a csomag tartalmában (a csomagok nevével ellentétben).
  • Erről semmilyen előzetes tudomásom nem volt, mielőtt magam is megkíséreltem volna megtalálni. A keresés a válaszomban az általuk már telepített csomagból és a parancs neve végén található gcc – általánosítás arra, amit már megpróbáltak (arm-linux-gcc) – Ez volt az első, amit kipróbáltam.
  • Azt hiszem, csak meglepőnek találom, ha a csomag nevét a (ahogy fogalmazott: „Ez az összes csomagban olyan fájlt vagy csomagot keres, amely tartalmazza a arm-linux-gnueabi” fájlokat), amikor apt-file search csak a csomag tartalmában keres véletlenül csomagneveket is talál, a /usr/share/doc/<package>/copyright) jóvoltából.

Válasz

Ahogy az steeldriver javasolja, a keresztfordítót már telepítette; a probléma az, hogy nem megfelelő parancsot használsz annak meghívására, általában a arm-linux-gnueabi- előtagot kell használnod. Tehát futtassa

arm-linux-gnueabi-gcc 

vagy

arm-linux-gnueabi-g++ 

, és jól kell működnie.

Hogy ezt maga is kitalálja, a dpkg -L segítségével felsorolhatja a telepített csomagok tartalmát:

dpkg -L gcc-arm-linux-gnueabi 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük