现在的位置: 首页 > 综合 > 正文

编译reactos

2013年10月22日 ⁄ 综合 ⁄ 共 1742字 ⁄ 字号 评论关闭
 转自: http://blog.csdn.net/CxEStudIO/archive/2006/02/21/604296.aspx

总结如下:
1
reactos是一款全面兼容winapi接口的供学研究目的的操作系,属于自由件,同也是源的(www.reactos.org)。另外,reactoswine目是属于同一开发的,所以两者分享多共同的成果。

2、从reactos的源安装,是采用mingw32-gcc编译源代的。(最少需要mingw32-gccmingw32-g++,以及mingw32-make等模,另外mingw32版本也有要求)。从官方文档中知,编译reactosmingw32-gcc可以是交叉编译器,也可以是本地编译器。

3、我编译reactos版本是0.2.8,可从网上下reactos0.2.8-REL-src.zip文件。

4、当我使用版本3.4.2的本地的mingw编译reactos,中途报错gcc版本可能不符合要求!因此我便接着采用版本3.4.4的本地的mingw来重新编译reactos这时中途又报错了,是一个g++文件错误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

 (从网上找到一个网,也是反映同错误http://www.reactos.org/forum/viewtopic.php?t=1073),有开发者回,需要使用mingw32-gcc3.4.3版本,或者升mingw32-gcc4.0版本。
 
5
、于是便找到了mingw4.0的二制安装版install后,再次编译reactos,又了一大堆错误,都是与mingw-winapi的,可以断定是mingw4.0的二布版好象不太全面。因此如果要想继续使用mingw4.0编译reactos,那只能自己先编译出完整的mingw4.0;但也太麻了,于是找mingw32-gcc3.4.3,没找着。

6、最后在http://www.reactos.org/wiki/index.php?title=HOWTO/setup_a_build_environment_for_Windows&redirect=no面中知,reactos开发组集成并建立了一个reactos编译环境,叫做ReactOS Build Environment (RosBE),于是乎,downloadReactOS Build Environment 0.1-3.4.2.exe文件,安装后,发现它集成的mingw-gcc版本也是3.4.2的。重新编译reactos,成功!!!注意!编译大概需要1.5G的磁

7、另外一篇于在linux编译reactos的文章的link是:http://www.reactos.org/wiki/index.php/HOWTO/setup_a_build_environment_for_Linux

8编译reactos,当前目obj-i386子目是中文件(如.o文件)的出位置;而output-i386子目是最(包括exedllsys)的出位置。都可以通过设置相量来改其缺省的出位置,详细情况参考当前目Makefile文件

抱歉!评论已关闭.