Ответы:
Установить gcc-arm-linux-gnueabi
и binutils-arm-linux-gnueabi
пакеты, а затем просто использовать arm-linux-gnueabi-gcc
вместо gcc
для компиляции.
Вы должны быть осторожны с тем, какой вкус Linux и binutils у вас есть в вашей целевой системе. Новейший материал - это hardfloat, в этом случае вы должны сделать:
sudo apt-get install gcc-arm-linux-gnueabihf
Это приводит к полной среде кросс-компиляции, включая binutils.
openssl/ossl_typ.h
ошибку not found, хотя уже установил libssl-dev
.
apt-get source
, то после apt-get build-dep
того , как вы обычно можете просто скомпилировать, dpkg-buildpackage -b -uc -us -r
есть ли способ легко создать .deb для ARM без изменения make-файла?
and then just use arm-linux-gnueabi-gcc instead of gcc for compilation
? Когда я компилирую, я использую вызов, на make
который, AFAIK, естественно указывает /usr/lib/gcc
или что-то подобное. Как я могу напрямую вызвать arm-linux-gnueabi-gcc?
CC=arm-linux-gnueabihf-gcc make ...
Поставщик образа диска также должен предоставить совместимый кросс-компилятор
Это единственный надежный метод.
В частности, для RPI предоставляемые кросс-компиляторы доступны по адресу: https://github.com/raspberrypi/tools и могут использоваться, как описано по адресу: https://raspberrypi.stackexchange.com/questions/64273/install-raspberry-. пи-кросс-компилятор / 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
Если вы неправильно выбрали собственный кросс-компилятор, может произойти следующее:
Моя любимая альтернатива - создать свой собственный образ с помощью Buildroot: https://stackoverflow.com/questions/47557262/how-to-download-the-torvalds-linux-kernel-master-recompile-it-and-boot-it- wi / 49349237 # 49349237 Эта сборка все из исходного кода и гарантирует, что все совместимо.