总结如下:
1、reactos是一款全面兼容winapi接口的供学@H_403_14@习研究目的的操作系@H_403_14@统,属于自由@H_403_14@软件,同@H_403_14@时也是@H_403_14@开源的(www.reactos.org)。另外,reactos与wine@H_403_14@项目是属于同一@H_403_14@拨人@H_403_14@开发的,所以@H_403_14@这两者分享@H_403_14@许多共同的成果。
2、从reactos的源@H_403_14@码安装@H_403_14@时,是采用mingw32-gcc来@H_403_14@编译源代@H_403_14@码的。(最少需要mingw32-gcc和mingw32-g++,以及mingw32-make等模@H_403_14@块,另外@H_403_14@对mingw32版本也有要求)。从官方文档中@H_403_14@获知,@H_403_14@编译reactos的mingw32-gcc可以是交叉@H_403_14@编译器,也可以是本地@H_403_14@编译器。
3、我@H_403_14@编译的reactos版本是0.2.8,可从网上下@H_403_14@载reactos0.2.8-REL-src.zip文件。
4、当我使用版本@H_403_14@为3.4.2的本地的mingw来@H_403_14@编译reactos@H_403_14@时,中途@H_403_14@报错,@H_403_14@说gcc版本可能不符合要求!因此我便接着采用版本@H_403_14@为3.4.4的本地的mingw来重新@H_403_14@编译reactos,@H_403_14@这时中途又@H_403_14@报错了,是一个g++的@H_403_14@头文件@H_403_14@错误,error信息如下:
E:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/bits
/stl_uninitialized.h: In member function `void std::vector<_Tp,_Alloc>::reserve
(size_t) [with _Tp = KeyMap,_Alloc = std::allocator<KeyMap>]':
E:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/bits
/stl_uninitialized.h:82: warning: '__cur' might be used uninitialized in this fu
nction
(从网上找到一个网@H_403_14@页,也是反映同@H_403_14@样的@H_403_14@这个@H_403_14@错误!http://www.reactos.org/forum/viewtopic.php?t=1073),有@H_403_14@开发者回@H_403_14@复中@H_403_14@说,需要使用mingw32-gcc3.4.3版本,或者升@H_403_14@级到mingw32-gcc4.0版本。
5、于是便找到了mingw4.0的二@H_403_14@进制安装版@H_403_14@进行install后,再次@H_403_14@编译reactos@H_403_14@时,又@H_403_14@报了一大堆@H_403_14@错误,都是与mingw-winapi相@H_403_14@关的,可以断定是@H_403_14@这个mingw4.0的二@H_403_14@进制@H_403_14@发布版好象不太全面。因此如果要想@H_403_14@继续使用mingw4.0来@H_403_14@编译reactos,那@H_403_14@么只能自己先@H_403_14@编译出完整的mingw4.0;但@H_403_14@这也太麻@H_403_14@烦了,于是找mingw32-gcc3.4.3,没找着。
6、最后在http://www.reactos.org/wiki/index.php?title=HOWTO/setup_a_build_environment_for_Windows&redirect=no@H_403_14@页面中@H_403_14@获知,reactos@H_403_14@开发组已@H_403_14@经集成并建立了一个reactos的@H_403_14@编译环境,叫做ReactOS Build Environment (RosBE),于是乎,download下ReactOS Build Environment 0.1-3.4.2.exe文件,安装后,@H_403_14@发现它集成的mingw-gcc版本也是3.4.2的。重新@H_403_14@编译reactos,成功!!!注意!@H_403_14@编译大概需要1.5G的磁@H_403_14@盘空@H_403_14@间。
7、另外一篇@H_403_14@关于在linux系@H_403_14@统上@H_403_14@编译reactos的文章的link是:http://www.reactos.org/wiki/index.php/HOWTO/setup_a_build_environment_for_Linux