Odpowiedzi:
Zainstaluj gcc-arm-linux-gnueabi
i binutils-arm-linux-gnueabi
pakiety, a następnie użyj arm-linux-gnueabi-gcc
zamiast gcc
do kompilacji.
Musisz uważać na to, jaki smak linuksa i binutils masz w systemie docelowym. Najnowsze rzeczy to hardfloat, w tym przypadku zrobiłbyś:
sudo apt-get install gcc-arm-linux-gnueabihf
Daje to kompletne środowisko kompilacji krzyżowej, w tym binutils.
openssl/ossl_typ.h
nie znalazłem błędu, chociaż już zainstalowałem libssl-dev
.
apt-get source
, po tym, jak apt-get build-dep
normalnie możesz po prostu skompilować z. dpkg-buildpackage -b -uc -us -r
Czy istnieje sposób na łatwe zbudowanie .deb dla ARM bez zmiany makefile?
and then just use arm-linux-gnueabi-gcc instead of gcc for compilation
? Podczas kompilacji używam wywołania, na make
które AFAIK naturalnie wskazuje /usr/lib/gcc
lub coś podobnego. Jak mogę zadzwonić bezpośrednio do arm-linux-gnueabi-gcc?
CC=arm-linux-gnueabihf-gcc make ...
Dostawca obrazu dysku musi także zapewnić kompatybilny kompilator krzyżowy
To jedyna niezawodna metoda.
W szczególności w przypadku RPI dostarczone kompilatory krzyżowe są dostępne pod adresem : https://github.com/raspberrypi/tools i mogą być używane w sposób wyjaśniony pod adresem : https://raspberrypi.stackexchange.com/questions/64273/installing-raspberry- pi-cross-compiler / 83215 # 83215
git clone https://github.com/raspberrypi/tools
export PATH="$(pwd)/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:${PATH}"
printf '#include <stdio.h>\nint main() { puts("hello world"); }\n' > hello_world.c
printf '#include <iostream>\nint main() { std::cout << "hello world" << std::endl; }\n' > hello_world.cpp
arm-linux-gnueabihf-gcc -std=c99 -o hello_world_c hello_world.c
arm-linux-gnueabihf-g++ -std=c++11 -o hello_world_cpp hello_world.cpp
W przypadku nieprawidłowego wyboru własnego kompilatora krzyżowego mogą wystąpić następujące zdarzenia:
Moją ulubioną alternatywą jest zbudowanie własnego obrazu za pomocą Buildroot: https://stackoverflow.com/questions/47557262/how-to-download-the-torvalds-linux-kernel-master-recompile-it-and-boot-it- wi / 49349237 # 49349237 To buduje wszystko ze źródła i zapewnia, że wszystko jest kompatybilne.