1

Msys を使用して、Linux で作成した自家製カーネルを構築しています。Linux はバイナリ形式に ELF を使用し、Msys は PE を使用します。マルチブート仕様を使用して Grub で起動できるようにソースをセットアップしました。ビルドの最後に、未定義のシンボルをいくつか取得します。

init.o:init.S:(.text+0x14): undefined reference to `edata'

main.o:main.c:(.text+0x121): undefined reference to `_alloca'

main.o:main.c:(.text+0x126): undefined reference to `__main'

../../lib\libkern.a(mem.o):mem.c:(.text+0x242): undefined reference to `_end'

../../lib\libkern.a(mem.o):mem.c:(.text+0x323): undefined reference to `_end'

これらは ELF 指向のシンボルのようです。PE の世界でこれらをどのように扱うべきか、誰かが私にアドバイスできるなら、例えば同等のものがある場合、それは私を大いに助けてくれるでしょう!

4

1 に答える 1

0

さまざまなオブジェクト ファイル形式を変換するツールはありますが、必要な機能が得られない場合があります。

Msys 環境に適した形式を生成するには、コンパイラ (gcc) をクロス コンパイラとして構成する必要があると思います。

于 2009-04-05T22:07:57.340 に答える