0

我现在正在用 C 语言开发一个测试操作系统……我一直在寻找http://www.osdever.net/tutorials/view/brans-kernel-development-tutorial以开始使用。我得到了适用于 Windows 7(64 位)的 MinGW。我设置了教程中的链接器脚本和一个批处理文件,以使用 NASM、GCC 和 LD 自动构建。当它尝试将 .o 文件与 LD 链接时,我收到此消息“ld:无法对非 PE 输出文件执行 PE 操作”。为什么会这样?

此外,我使用 MinGW 而不是 DJGPP(它在编译器下的第二页上说)的原因是因为我找不到适用于 Windows 64 位的下载。我收到一条消息说 16 位应用程序与我的 Windows 版本不兼容。

如果有人可以提供帮助...我将不胜感激!:)

4

1 回答 1

0

我对此并不完全确定。但我认为这是因为 MinGW 目标的编译器需要一些额外的步骤来生成 Windows 可执行文件。因此,构建通用 elf 交叉编译器(针对 x86_64-unknown-elf)可能更容易,至少比构建针对 DJGPP 的交叉编译器要容易得多。

于 2013-07-22T04:02:55.263 回答