ARM Cross compiler
Why is cross-compiling so difficult? Because the libraries aren’t there! - Cross Compile
ARM architecture
Do I need to add foreign architecture for cross-compiling? No, it is possible to install g++-arm-linux-gnueabihf without adding armhf architecture.
- arm is the original Debian ABI for the ARM architecture. It is now considered obsolete and newer ports such as armel and armhf have replaced it.
- armel is the default Debain port for the ARM architecture
- armhf is a port that uses the “hard” Floating Point Unit.
$ dpkg --print-architecture # list native architecture
$ dpkg --print-foreign-architectures # list foreign architectureDebian cross compilation tools
This may conflict with g++-multilib that is needed by (aptitude resolution)
3) libc6-dev-i386 recommends gcc-multilib
...# install C/C++ compiler and standard libs
$ apt-get install g++-arm-linux-gnueabihf gcc-arm-linux-gnueabihf
# compile something
$ arm-linux-gnueabihf-g++ main.cppSetup cross library
TBC
pkg-config
This tool searches, so called, package config files (.pc) using PKG_CONFIG_LIBDIR environment variable.
$ sudo apt-get install -y pkg-config-arm-linux-gnueabiMeson arm cross compilation
Running ARM programs under linux
Written on February 27, 2021, Last update on March 27, 2021
arm
cross-compile