Недавно я играл с кросс-компиляцией с использованием GCC и обнаружил, что, кажется, сложная область, цепочки инструментов.
Я не совсем понимаю это, поскольку я был под впечатлением. GCC может создать двоичный машинный код для большинства общих архитектур, и все, что еще действительно имеет значение, - это то, с чем вы связываете библиотеки и какой тип исполняемого файла создается.
Может ли GCC не выполнять все эти вещи самостоятельно? С помощью единой сборки GCC, всех соответствующих библиотек и правильных флагов, отправленных в GCC, я могу создать исполняемый файл PE для машины Windows x86, а затем создать исполняемый файл ELF для встроенного устройства MIPS Linux и, наконец, исполняемый файл для OSX PowerPC машина? Если нет, кто-нибудь может объяснить, как вы это достигнете?