Я в настоящее время работаю над учебником Bare Bones от OSDev, и я настроил все и скомпилировал ядро и загрузчик в объектные файлы, и у меня есть .ld-файл. Однако, когда я пытаюсь связать файлы и производить его в мусорное ведро, используя i686-elf-gcc -T linker.ld -o myos.bin -ffreestanding -O2 -nostdlib boot.o kernel.o -lgcc
, я получаю эту ошибку:Не удается связать linker.ld
.../i686/bin/../lib/gcc/i686-elf/4.8.2/../../../../i686-elf/bin/ld.exe: cannot open linker script file linker.ld
collect2.exe: error: ld returned 1 exit status
Я использую GCC и используя скомпилированную версию i686-эльфа НКУ, который включает в себя многие другие компиляторы и я добавил 4 dll, поскольку он отсутствовал (также не связан с компоновщиком), но я установил MinGW и добавил их. Я нахожусь в Windows 10 x64. Многие из решений или обходных решений, которые я нахожу, просто приносят больше ошибок или ничего не делают для ошибок (-T ничего не делает, -noixemul не является параметром.). Я удалил многозадачный контент, так как я использую загрузчик с сектором, который загружает объектные файлы.
Вы уверены, что полный выпуск gcc? –
посмотреть, присутствует ли файл ... попробуйте опцию versbose '-Wl, - verbose' для получения дополнительной информации, например, где находится компоновщик, ищущий скрипт компоновщика ... если есть файл, посмотрите, какие разрешения являются' ls -al 'может помочь – theadnangondal