【发布时间】:2014-06-19 13:03:37
【问题描述】:
我正在按照我找到的here 的说明来编译操作系统内核。 不幸的是,我收到一个错误,不知道该怎么办:
gcc boot.o kernel.o -T linker.ld -o kern - nostdlib -nodefaultlibs -lgcc
产生这个:
boot.o: In function `start':
boot.asm:(.mbHeader+0xe): undefined reference to `kernel_main'
collect2.exe: error: ld returned 1 exit status
除了我用 boot.o 替换了 loader.o(在我看来这是一个错误,该页面上的任何地方都没有提到 loader.o)之外,一切都是一样的。
我怎样才能让它工作?
【问题讨论】:
-
可能通过将 kernel.cpp 重命名为 kernel.c 并使用 gcc 而不是 g++ 进行编译
-
寻找解决方案我发现问题是关于 c++ 名称修改。您的解决方案与此有关。解决了!