`
bloodmud
  • 浏览: 36445 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

VC2008EXP 编译 Ruby1.9.1-P376

阅读更多
一、准备相关工具

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

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

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

二、编译支持模块

  1.编译 openssl 模块 // rails 需要 openssl
    // 我是从 www.opensssl.org 下载的 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
    #define _CRT_NON_CONFORMING_SWPRINTFS

    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 www.zlib.net

  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 都是从 jarp.does.notwork.org/win32 下载的源码,使用相应编译好的文件应该也可以,编译很简单:
    cd win32
    nmake clean all install

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

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

四、编译 ruby 1.9.1 p376

  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 行之后增加
    #undef X509_EXTENSIONS

    再次编译通过。

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

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

五、简单使用测试

  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 模块安装失败,其他模块安装成功

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

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

相关推荐

Global site tag (gtag.js) - Google Analytics