Я изучаю инструкцию по созданию ОС на http://wiki.osdev.org/Bare_Bones. Когда я пытаюсь связать boot.o и kernel.o с помощью этой команды: i686-elf-gcc -T linker.ld -o myos.bin -ffreestanding -O2 -nostdlib boot.o kernel.o -lgcc, я просто получить эту ошибку:Gcc collect2: фатальная ошибка: не удается найти 'ld'
collect2: fatal error: cannot find 'ld'
compilation terminated.
Я только что установили свежий Ubuntu 15,10, что с GCC-5.2.1 и BinUtils-2.25.1. Я искал в интернете ответы, но ничего не помогло.
При связывании используйте компоновщик напрямую, а не вызывайте программу интерфейса GCC. То есть 'i686-elf-ld' вместо этого. –
это может помочь добавить флаг «-v» в командную строку gcc, чтобы увидеть все пути. – max630
@JoachimPileborg Когда я пытаюсь выполнить команду 'i686-elf-ld', он говорит, что не может найти команду. Любые другие предложения? @ max630 Он говорит, что это: COLLECT_GCC = i686-эльф-GCC COLLECT_LTO_WRAPPER = $ HOME/Opt/крест/libexec/ССАГПЗ/i686-эльф/5.2.0/LTO-обертка Цель: i686-эльф Настраивается с: ../gcc-5.2.0/configure --target = i686-elf --prefix = $ HOME/opt/cross --disable-nls --enable-languages = c, C++ --without-headers Модель темы: single gcc версия 5.2.0 (GCC) Итак, что именно я пытаюсь увидеть? – XXO2