VC2008EXP 编译 Ruby1.9.1-P376

[b]一、准备相关工具[/b]

1. Visual C++ 2008 Express Edition SP1
[url]http://www.microsoft.com/express/vc/Default.aspx[/url]

2. Active Tcl // 编译 Ruby 时需要
[url]http://www.activestate.com/activetcl/[/url]

3. Active Perl // 编译 openssl 时需要
[url]http://www.activestate.com/activeperl[/url]

[b]二、编译支持模块[/b]

1.编译 openssl 模块 // rails 需要 openssl
// 我是从 [url]www.opensssl.org[/url] 下载的 openssl 0.9.8l

1.1 配置编译器
perl Configure VC-WIN32 --prefix=output // 安装文件到 output 目录

1.2 创建make文件和选项
ms\do_nt // use nt

1.3 编译
nmake -f ms\ntdll.mak // failed
编译失败了,但是提示很明确

1.4 根据提示修改,在 uplink.c 文件中增加一个宏定义,然后再编译,成功
+ .\ms\uplink.c
[b]#define _CRT_NON_CONFORMING_SWPRINTFS[/b]

nmake -f ms\ntdll.mak // scuccess

1.5 测试编译结果,成功
nmake -f ms\ntdll.mak test


1.6 安装编译结果到output目录
nmake -f ms\ntdll.make install

2 编译 zlib [url]www.zlib.net[/url]

2.1 使用 VC IDE 打开 projects\visualc6 目录下的工程文件

2.2 设置构建选项为 DLL Rlease Win32

2.3 编译成功,编译和运行所需要的文件:
bin zlib1.dll
lib zlib1.lib
include zconf.h zlib.h

3 编译 readline4.3-2 pdcurses2.60-1 gdbm1.8.3-1

3.1 都是从 [url]jarp.does.notwork.org/win32[/url] 下载的源码,使用相应编译好的文件应该也可以,编译很简单:
cd win32
nmake clean all install

3.2 输出目录默认为你源码所在驱动器的 \usr\local 目录

[b]三、合并支持库[/b]
为了方便,把所有的支持库合并到一个目录 X:\Libs。除了上面编译好的库之外,还有 iconv1.8 (没相应源码,直接从
[url]
jarp.does.notwork.org/win32[/url] 下载编译好的文件)。另外为了方便将iconv1.8中的util目录下的 icon.exe 以及 lib 目录下的 iconv.dll 也放在 bin 目录下。这样,Libs 目录下就有 include,lib,bin 三个目录。

[b]四、编译 ruby 1.9.1 p376[/b]

1 设置 include 和 lib
set INCLUDE=%INCLUDE%;X:\Libs\include;
set LIB=%LIB%;X:\Libs\lib;

2 创建 make 文件
cd win32
configure.bat --prefix=E:\Ruby // Ruby 安装目录设置为 E:\Ruby

3 编译 Ruby
nmake

编译openssl时失败,根据提示是 x509.h 出错,最后查到原因是少了个宏定义,在 x509.h 118 行之后增加
[b]#undef X509_EXTENSIONS[/b]

再次编译通过。

4 编译测试
make test // 大部分测试通过

5 安装 Ruby
nmake install
copy X:\Libs\bin\*.* E:\Ruby\bin\ // 复制所有支持库

[url]五、简单使用测试[/url]

1 简单 ruby 文件测试通过
2 gem update --system 成功安装了 rubygems-update (1.3.5)
3 gem install rails 成功安装了 rails 必需模块
4 gem install ... 安装 Ruby OneClick Install 中的模块,ruby-opengl fxri fxruby 模块安装失败,其他模块安装成功

[b]六、总结[/b]
其实 Ruby 我也不是很熟,这个只是一个周末做的变态实验(貌似还没有用VC9编译的Ruby),记下来以备以后有用。如果只是简单的Ruby学习和使用,这个编译结果也可以接受,不过要正式使用 Ruby 做软件,要想使用过程中不遇到太多麻烦,还是用 Visual C++ 6.0 ,Windows上的版本默认是用 VC6编译的,很多有C/C++编译需要的模块也是用VC6编译的。稳定压倒一切!

另:不知道是谁的问题,在线敲了半天字,一个出错,只剩下来一半,差点晕死,不得已在本地敲好了再粘贴上来!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值