我正在寻找一种在Windows上编译业余爱好者编写的内核和微操作系统的方法,到目前为止,我在所有的论坛和其他类似的地方都找到了“构建交叉编译器”的建议。不幸的是,我现在缺乏这样做的知识,所以谁能告诉我如何使用MinGW编译GCC/Binutils以在64位Windows7安装上运行?谢谢你的时间,Erkling。
发布于 2012-04-29 18:38:10
编译gcc作为交叉编译器应该是相当简单的,但我从来没有在Windows上尝试过。
要构建为交叉编译器,gcc需要配置--host=<host_os>和--target=<target_os,其中<host_os>是运行编译器的平台(在您的例子中是windows),<target_os>是您要使用的平台。正如你所说的,它是一个业余爱好者的操作系统,它可能是1586-elf或类似的操作系统。
http://wiki.osdev.org/GCC_Cross-Compiler有更深入的信息。试一试这个页面,看看它是否有帮助。要让这种方法在Windows上运行,应该和安装Cygwin和gcc以及下载并构建binutils和GCC一样简单。
编辑
通过使用objcopy剥离使用--nostdlib编译的PE文件,解决了此问题。如果你想要的只是一个平面二进制文件,那么这可能是你的一个选择。
https://stackoverflow.com/questions/10371246
复制相似问题