4

尝试在我的 Windows 计算机上安装 ruby​​ gem libxml-ruby 时,我收到以下错误消息

D:/.../bin/ruby.exe extconf.rb
checking for socket() in -lsocket... no
checking for gethostbyname() in -lnsl... no
checking for atan() in -lm... yes
checking for inflate() in -lz... no
checking for inflate() in -lzlib... no
checking for inflate() in -lzlib1... no
 extconf failure: need zlib

有人可以告诉我如何安装这个 gem 吗?我搜索了答案,还找到了 zlib 库,但不知道在哪里使用它们。

我正在使用带有 devkit 4.5.1 的 ruby​​ 版本 1.8.7

我的解决方案

  1. 将 ruby​​/bin 文件夹中的 zlib1.dll 复制到 ruby​​/lib 文件夹中
  2. 从ftp://ftp.zlatkovic.com/libxml/下载 iconv.dll并将其也放在 ruby​​/lib 文件夹中
  3. 从ftp://ftp.zlatkovic.com/libxml/下载了 libxml2,并将 libxml-folder 从包含文件夹中的 devkit 包含目录中放入 mingw(在我的情况下,例如 devkit/mingw/mingw32/include)
4

2 回答 2

0

检查您是否安装了 zlib 头文件。在许多 Linux 发行版上,这是一个名为“zlib-devel”的包。

编辑:我刚刚意识到您正在使用 Windows 环境。我对 Windows 没有任何开发经验,但是您需要在包含路径的某个位置使用 zlib.h。我的猜测是你只有 .dll 文件,它允许已经编译的程序使用 zlib,但不允许你编译任何引用它的源代码。

于 2011-03-22T18:31:06.033 回答
0

我在从zlib.net链接的这个页面上找到了 windows98/NT/2000/XP/2003 的开发头文件

如果你想在你的程序中使用 zlib,你需要它。zlib 官方没有“程序员手册”,但是快速阅读 zlib.h 会让你的想法更清晰。

于 2011-03-22T19:02:44.963 回答