Using existing cross-platform toolchain files
When building software for multiple platforms, the most straightforward way to do this is to compile software on the target system itself. The downside of that is that each developer has to have a running version of the target system to build the software. If these are desktop systems, that might work reasonably well, although moving between different installations for developing the software also makes the developer workflow quite tedious. Less powerful devices such as embedded systems might be very uncomfortable because of the lack of proper development tools or because compiling the software takes very long.
So, a much more convenient way from the developer's perspective is to use cross-compiling. This means the software engineer writes code and builds the software on their own machine, but the resulting binaries are for a different platform. The machine and platform on which the software is built are usually called the host...