The compile process takes the source files, turning them into an intermediate format, after which this format can be used to target a specific CPU architecture. For us, this means that we aren't limited to compiling applications for an SBC on that SBC itself, but we can do so on our development PC.
To do so for an SBC such as the Raspberry Pi (Broadcom Cortex-A-based ARM SoCs), we need to install the arm-linux-gnueabihf
toolchain, which targets the ARM architecture with hard float (hardware floating point) support, outputting Linux-compatible binaries.
On a Debian-based Linux system, we can install the entire toolchain with the following commands:
sudo apt install build-essentialsudo apt install g++-arm-linux-gnueabihfsudo apt install gdb-multiarch
The first command installs the native GCC-based toolchain for the system (if it wasn't already installed), along with any common related tools and utilities, including make
, libtool
, flex
, and others. The second command installs...