Ruby 在 VC Express 2005 下的编译

编译前步骤

CVS取下的源码保存在D:/Src/ruby/ruby下。

建立两个目录分别是:D:/Src/ruby/buildD:/Src/ruby/install。分别用于保存编译Ruby时的中间文件和最终的安装文件。

编译器使用的是Visual C++ Express 2005msvc80),Platform SDKWindows Server 2003 SP1 SDK。两者均可从微软的网站中免费获得。

值得注意的是,Ruby的源码目录中应避免出现空格,根据Ruby的官方说法,这是因为NMAKE!INCLUDE指示符有个小Bug

开始编译

1.         由于VC Express 2005中的C++编译器已经不使用 /G /g- 选项了,所以在生成Makefile之前需要修改D:/Src/ruby/ruby/win32/Makefile.sub文件:

注释掉:

PROCESSOR_FLAG = -G$(PROCESSOR_LEVEL)

并修改优化选项为:

OPTFLAGS = -O2b2x

如果不喜欢编译器警告源码中使用了非标准的POSIX函数,可以在CFLAGS中加上-D_CRT_SECURE_NO_DEPRECATE.

2.         生成Makefile

D:/Src/ruby/build>vcvars32

 

D:/Src/ruby/build>"C:/MSVS8/Common7/Tools/vsvars32.bat"

Setting environment for using Microsoft Visual Studio 2005 x86 tools.

 

D:/Src/ruby/build>../ruby/win32/configure --prefix=D:/Src/ruby/install

Creating Makefile

confargs.c

type `C:/MSVS8/VC/BIN/nmake.exe' to make ruby for mswin32.

D:/Src/ruby/build>dir

 驱动器 D 中的卷是 WORK

 卷的序列号是 68FB-D699

 

 D:/Src/ruby/build 的目录

 

2006-01-07  21:50    <DIR>          .

2006-01-07  21:50    <DIR>          ..

2006-01-07  21:50               711 Makefile

               1 个文件            711 字节

               2 个目录  7,421,976,576 可用字节

3.         修改MAKE环境变量

MAKE = C:/MSVS8/VC/BIN/nmake.exe

D:/Src/ruby/build>set MAKE=C:/MSVS8/VC/BIN/nmake.exe

 

注意:目录的分隔符必须写成 / 而不是 / ,这是由于编译Ruby时需要使用的中间解释器miniruby会将 / 解释为转义符,而不是目录分隔符。

4.         执行nmake开始编译。

D:/Src/ruby/build>nmake

5.         执行nmake test执行回归测试。

D:/Src/ruby/build>nmake test

 

Microsoft (R) Program Maintenance Utility Version 8.00.50727.42

Copyright (C) Microsoft Corporation.  All rights reserved.

 

test succeeded

 

6.         执行nmake install进行安装。它将生成的Ruby解释器和Ruby库复制到指定目录,并在该目录下生成文档。最后的安装统计:

D:/Src/ruby/build>nmake install

 

... ...

 

Files:   102

Classes: 339

Modules: 84

Methods: 2947

Elapsed: 86.125s

7.         最后,由于VC Express 2005Side by Side Assembly特性,还需要将ruby.exe.manifestrubyw.exe.manifestmsvcr80-ruby19.dll.manifest复制到D:/Src/ruby/install/bin目录下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值