尝试在Visual Studio上使用zlib构建Ruby

3

我正试图在Visual Studio上构建带有zlib的Ruby,并遇到了问题。

我已经准备好构建所需的一切,但我不知道如何指定zlib库和头文件的位置。

源代码位于$(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"有关,但我不知道该如何指定它,而且文档真的很差。

如果您能帮忙我将非常感激。

1个回答

4
以下指南适用于Ruby 2.2.5 - 如果您想构建其他版本或使用不同的文件夹路径,请相应更改。 我使用这些指南成功地从源代码构建了带有zlib的Ruby 2.2.5和2.3.1,使用的是Windows 8.1 Pro x64上的VS2013 Community Update 5。
  • Create folders:

    C:\ruby-2.2.5\build
    C:\ruby-2.2.5\src
    
  • Untar ruby-2.2.5.tar.gz and put the sources in C:\ruby-2.2.5\src

  • Unzip the zlib distribution archive (zlib128-dll.zip) into C:\zlib128-dll

  • Run Developer Command Prompt for VS2013, then run:

    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
    
  • Done. You should now have a fully working, zlib-enabled, Ruby build in C:\ruby-2.2.5\usr.


1
太棒了!关于使用Visual Studio构建Ruby的信息很少,非常感谢。我想知道安装哪个(如果有)OpenSSL包才能获得支持SSL的Ruby构建... - Frerich Raabe
1
获取预编译的OpenSSL包(或自行构建),相应更改环境变量,即可使用。我从这里下载了v1.1.0b版本,并且它可以正常工作。 SET INCLUDE=%INCLUDE%;C:\zlib128-dll\include;C:\Win32OpenSSL-1_0_2d\include SET LIB=%LIB%;C:\zlib128-dll\lib;C:\Win32OpenSSL-1_0_2d\lib;C:\Win32OpenSSL-1_0_2d\lib\VC SET PATH=%PATH%;C:\zlib128-dll;C:\Win32OpenSSL-1_0_2d\bin - Georger Araujo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接