在windows上安装ruby-ldap gem(使用ruby 2.1.6)

我在Windows上安装ruby-ldap gem时遇到了问题(我有ruby 2.1.6,并configuration了devkit来编译扩展)。 我得到以下错误,当我尝试gem安装它会引发以下错误

extconf.rb:197:in ``': Permission denied - lib /def:./win/wldap32.def /out:./win/wldap32.lib (Errno: :EACCES) 

我尝试以pipe理员身份进行安装我尝试在win文件夹中添加wldap32.lib文件

以下是此问题的完整日志临时增强PATH以包括DevKit …构build本机扩展。 这可能需要一段时间…错误:安装ruby-ldap时出错:错误:无法构buildgem本机扩展。

 C:/Ruby21/bin/ruby.exe extconf.rb *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details.You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=C:/Ruby21/bin/ruby --with-netscape --without-netscape --without-netscape --with-mozilla --without-mozilla --without-mozilla --with-openldap1 --without-openldap1 --without-openldap1 --with-openldap2 --without-openldap2 --without-openldap2 --with-wldap32 --without-wldap32 --without-wldap32 --with-ldap-dir --without-ldap-dir --with-ldap-include --without-ldap-include=${ldap-dir}/include --with-ldap-lib --without-ldap-lib=${ldap-dir}/lib --with-ldap-dir --without-ldap-dir --without-ldap-dir --with-ldap --without-ldap --without-ldap extconf.rb:197:in ``': Permission denied - lib /def:./win/wldap32.def /out:./win/wldap32.lib (Errno: :EACCES) from extconf.rb:197:in `<main>' --with-wldap32 extconf failed, exit code 1 

自述文件中没有官方支持Windows

 PORTS * FreeBSD ("Akinori -Aki- MUSHA" <knu@idaemons.org>) * Debian (Akira Yamada <akira@ruby-lang.org>) ------------------------------------------------------------------------------- 

此外,有https://github.com/bearded/ruby-ldap/wiki/How-to-compile-ruby-ldap-on-Windows但是我不认为这是最新版本的工作,这里是有些事情需要改变才能支持&#x3002;

  1. 它使用lib ,devkit使用link ,所以它必须改为link /lib在extconf.rb,这是什么给你权限被拒绝的错误。
  2. 有加载time.h问题,所以每个包含time.h将不得不被改为类似的东西
 #if HAVE_SYS_TIME_H &&!defined(_WIN32)
 #包括 
 #万一
  1. 在extconf.rb应该像have_header("sys/time.h") unless win32
  2. 最后但并非最不重要的conn.c:183: undefined reference to ldap_initialize' most likely because something isn't installed, I'm thinking ldap.h`(读取ldap二进制文件)

所以,抱歉,但我认为这是不行的。