2016-10-07 4 views
-18

Я в настоящее время работаю над учебником 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 не является параметром.). Я удалил многозадачный контент, так как я использую загрузчик с сектором, который загружает объектные файлы.

+0

Вы уверены, что полный выпуск gcc? –

+0

посмотреть, присутствует ли файл ... попробуйте опцию versbose '-Wl, - verbose' для получения дополнительной информации, например, где находится компоновщик, ищущий скрипт компоновщика ... если есть файл, посмотрите, какие разрешения являются' ls -al 'может помочь – theadnangondal

ответ

1

Если я не ошибаюсь, ваша проблема на самом деле, действительно, действительно просто:

У вас нет доступа к linker.ld. Попробуйте запустить суперпользователь или изменить разрешения.

Если это не решит проблему, у вас есть настоящая проблема. Не используйте флаг -T.

EDIT: Уважаемый бог, я не ожидал, что это будет правильно. Благодаря!

+1

Это плохое и, возможно, опасное решение. Лучшим советом будет просто 'chmod' или' chown'' linker.ld', так что у текущего пользователя _does_ есть разрешение на чтение этого файла. ** Нет причин запускать компоновщик как root, кроме этих прав доступа к файлам! ** – Xunie

+2

Ах, довольно уверен, что OP сказал, что он был в Windows 10. В последнее время я проверил, там нет корня. –

+0

@Xunie Обновлено. – Blacksilver

Смежные вопросы