尝试使用 zlib 在 visual studio 上构建 ruby

Trying to build ruby on visual studio with zlib

我正在尝试使用 zlib 在 visual studio 上构建 ruby,但我遇到了问题。

我已经准备好构建它的一切,但我不知道如何指定 zlib 库和 headers 的位置。

我在 $(ProjectDir)/.. 中有源代码 我正在构建 $(ProjectDir)/$(Platform)/$(Configuration) 我用命令行构建,我是这样的

mkdir $(Platform)$(Configuration)
cd $(Platform)$(Configuration)\
..\..\..\win32\configure.bat --target=i386-mswin32 --prefix=$(ProjectDir)$(Platform)$(Configuration)\bin

如果我去ext/zlib,我可以执行

extconf.rb --with-zlib-lib=$(ProjectDir)..\..\zlib-1.2.8\zlib-1.2.8$(Platform)$(Configuration)\lib --with-zlib-include=$(ProjectDir)..\..\zlib-1.2.8

并正确地创建了 makefile,但我不知道如何传递 zlib 库 并包含配置脚本的路径。

我试过

..\..\..\win32\configure.bat --target=i386-mswin32 --prefix=$(ProjectDir)$(Platform)$(Configuration)\bin --with-zlib-lib=$(ProjectDir)..\..\zlib-1.2.8\zlib-1.2.8$(Platform)$(Configuration)\lib --with-zlib-include=$(ProjectDir)..\..\zlib-1.2.8

但这行不通

我想这与“--with-ext="a,b,..."”选项或帮助命令中指定的“--path”有关,但我不知道不知道如何指定它,而且文档真的很糟糕。

如果你能帮助我,我将不胜感激。

以下说明适用于 Ruby 2.2.5 – 如果您想构建其他版本或使用不同的文件夹路径,请相应地进行更改。我使用这些在 Windows 8.1 Pro x64 上使用 VS2013 社区更新 5 从源代码和 zlib 成功构建了 Ruby 2.2.5 和 2.3.1。

  • 创建文件夹:

    C:\ruby-2.2.5\build
    C:\ruby-2.2.5\src
    
  • 解压 ruby-2.2.5.tar.gz 并将源代码放入 C:\ruby-2.2.5\src

  • 将 zlib 分发存档 (zlib128-dll.zip) 解压到 C:\zlib128-dll

  • 运行 VS2013 的开发人员命令提示符,然后 运行:

    SET INCLUDE=%INCLUDE%;C:\zlib128-dll\include
    SET LIB=%LIB%;C:\zlib128-dll\lib
    SET PATH=%PATH%;C:\zlib128-dll
    
    cd C:\ruby-2.2.5\build
    ..\src\win32\configure.bat
    nmake
    nmake DESTDIR=C:/ruby-2.2.5 install
    
  • 完成。您现在应该在 C:\ruby-2.2.5\usr.

  • 中有一个完全可用的、支持 zlib 的 Ruby 构建