【问题标题】:MinGW for Windows doesn't work when I try to link with LD当我尝试与 LD 链接时,MinGW for Windows 不起作用
【发布时间】:2012-11-24 13:14:54
【问题描述】:

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

如果有人可以帮助解决这个问题...我将不胜感激! :)

【问题讨论】:

标签: compiler-construction 64-bit mingw ld djgpp


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-02-05
    • 1970-01-01
    • 2019-11-05
    • 2018-01-22
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    相关资源
    最近更新 更多