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-essential sudo apt install g++-arm-linux-gnueabihf sudo apt install gdb-multiarch
The first command installs the native GCC-based toolchain for the system (if it wasn't already...