私は現在、OSDevのBare Bonesチュートリアルに従っています。すべてをセットアップし、カーネルとブートローダをオブジェクトファイルにコンパイルしました。私は.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のエルフ - gccのコンパイル済みのバージョンを使用しています私は4つのdllが欠けていたので(リンカにも関係ない)、MinGWをインストールして追加しました。私はWindows 10 x64を使用しています。私が見つけた解決策や回避策の多くは、より多くのエラーを引き起こしたり、エラーに絶対に何もしません(-Tは何もしません。-noixemulはパラメータではありません)。私はオブジェクトファイルをロードするセクタ長のブートローダを使うつもりなので、マルチブートのコンテンツを削除しました。
gccの完全な出力は確実でしたか? –
ファイルが存在するかどうかを確認する...リンカがリンカスクリプトをどこで検索しているかのような追加情報については、 '-Wl、 - verbose'を試してみてください...ファイルがある場合、' ls -al '助けてくれるかもしれない – theadnangondal