1

我正在尝试为 Cygwin 编译 GCC,支持以 i386-elf 为目标,这样我就可以编译一些简单的操作系统(在 Github 上通过 l30nard0 搜索 Benu)。我已经成功编译了 i386-elf 的 binutils,并编译了 GCC 的所有浮点数依赖项。

问题是,它说 windows.h 找不到。我确实成功安装了 w32api,并尝试在 GCC 的包含路径中一次包含其中的每一个,但它们都不起作用。如果我尝试其中任何一个,我会收到很多错误和警告,以至于并非所有都会显示在 Cygwin 控制台中。几十个警告是最多的,如果不是全部的话unused parameter

有谁知道问题可能出在哪里?

我浪费了我生命中最后三天的时间,试图用我想要的一切来设置 Linux Mint,但由于我不想深入的原因,我放弃了。我希望能够只做一件事,这样我就可以再次享受我的生活。:) 谢谢!

顺便说一句:我使用的配置参数--target=i386-elf --enable-threads=win32 --enable-languages=c,c++是我应该使用的--enable-targets吗?

这是日志的一部分:

In file included from ../../../gcc/libgcc/gthr.h:150:0,
             from ../../../gcc/libgcc/unwind-dw2.c:38:
./gthr-default.h:541:21: fatal error: windows.h: No such file or directory
compilation terminated.
../../../gcc/libgcc/static-object.mk:17: recipe for target 'unwind-dw2.o' failed
make[2]: *** [unwind-dw2.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ../../../gcc/libgcc/gthr.h:150:0,
             from ../../../gcc/libgcc/unwind-dw2-fde.c:38:
./gthr-default.h:541:21: fatal error: windows.h: No such file or directory
compilation terminated.
../../../gcc/libgcc/static-object.mk:17: recipe for target 'unwind-dw2-fde.o' failed
make[2]: *** [unwind-dw2-fde.o] Error 1
make[2]: Leaving directory '/home/Sean/gccbuild/i386-elf/libgcc'
Makefile:10055: recipe for target 'all-target-libgcc' failed
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory '/home/Sean/gccbuild'
Makefile:870: recipe for target 'all' failed
make: *** [all] Error 2
4

1 回答 1

1

移除--enable-threads=win32标志;它旨在指定目标系统上的线程支持,而不是构建系统。

于 2013-07-23T07:02:24.640 回答