2012-11-24 34 views
0

我正在开发一个测试操作系统,现在在C ...我一直在寻找http://www.osdever.net/tutorials/view/brans-kernel-development-tutorial以开始。我得到了Windows 7(64位)的MinGW。我在教程中创建了一个链接器脚本,并创建了一个批处理文件,用NASM,GCC和LD自动化构建。当它试图链接.o文件与LD时,我得到这个消息“ld:不能在非PE输出文件上执行PE操作”。这是为什么发生?当我尝试链接LD时,MinGW for Windows无法正常运行

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

如果有人可以帮助这个...我真的很感激! :)

+0

您可能想尝试在Win7的XP模式下运行DJGPP:http://download.microsoft.com/download/7/2/C/72C7BAB7-2F32-4530-878A-292C20E1845A/WindowsXPMode_en-us.exe和http ://download.microsoft.com/download/0/5/5/0554AE99-785F-45CB-B1F2-0E3ED1E6117D/Windows6.1-KB958559-x64-RefreshPkg.msu –

+0

我有家庭高级版...我不是当然,如果这个工程...我会尝试下载更新。 – user1761803

回答

0

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