Я ищу способ скомпилировать написанное любителем ядро и микро-ОС в Windows, пока я нашел в основном совет «создать кросс-компилятор» на всех форумах и в других подобных местах. К сожалению, мне не хватает знаний, чтобы сделать это прямо сейчас, поэтому не мог бы кто-нибудь сообщить мне, как я могу скомпилировать GCC/Binutils для запуска на 64-битной установке Windows 7 с использованием MinGW? Спасибо за ваше время, Эрклинг.
Компиляция кросс-компилятора для компиляции ядра с использованием MinGW
Ответы (1)
Компиляция gcc как кросс-компилятора должна быть довольно простой, однако я никогда не пробовал это делать в Windows.
Чтобы быть построенным как кросс-компилятор, gcc необходимо настроить с помощью --host=<host_os>
и --target=<target_os
, где <host_os>
— это платформа, на которой будет работать компилятор (в вашем случае Windows), а <target_os>
— это платформа, на которую вы ориентируетесь. Как вы говорите, это любительское ОС, вероятно, 1586-elf
или что-то подобное.
http://wiki.osdev.org/GCC_Cross-Compiler содержит более подробную информацию. Попробуйте эту страницу и посмотрите, поможет ли она. Заставить этот метод работать в Windows должно быть так же просто, как установить Cygwin с GCC, а также загрузить и собрать binutils и gcc.
ИЗМЕНИТЬ
Это было решено с помощью objcopy
для удаления PE-файла, скомпилированного с помощью --nostdlib
. Если все, что вам нужно, это плоский двоичный файл, то это может быть вариантом для вас.