您的位置:首页 > 编程语言 > Ruby

Ruby 在 VC Express 2005 下的编译

2006-01-08 18:07 441 查看

编译前步骤

从CVS取下的源码保存在D:/Src/ruby/ruby下。
建立两个目录分别是:D:/Src/ruby/build,D:/Src/ruby/install。分别用于保存编译Ruby时的中间文件和最终的安装文件。
编译器使用的是Visual C++ Express 2005(msvc80),Platform SDK是Windows 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 2005的Side by Side Assembly特性,还需要将ruby.exe.manifest,rubyw.exe.manifest和msvcr80-ruby19.dll.manifest复制到D:/Src/ruby/install/bin目录下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: