当我尝试与 LD 链接时,Windows 版 MinGW 无法工作

问题描述 投票:0回答:1

我现在正在用 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 版本不兼容。

如果有人可以帮忙...我将非常感激! :)

mingw 64-bit ld djgpp
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.