如何使用MinGW在Windows XP上编译和构建taf2-curb Ruby gem?
我试过这个,但我有点钓鱼,但没有成功。
C:\Documents and Settings\Me>gem install taf2-curb -- --with-curl-include=C:/curl-7.19.5-devel-mingw32/include --with-curl-dir=C:/curl-7.19.5 --with-curl-lib=C:/curl-7.19.5-devel-mingw32/lib --prefix=C:/MinGW --with-curllib Bulk updating Gem source index for: http://gems.rubyforge.org Updating metadata for 73 gems from http://gems.rubyonrails.org ......................................................................... complete Bulk updating Gem source index for: http://gems.github.com Building native extensions. This could take a while... ERROR: Error installing taf2-curb: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb install taf2-curb -- --with-curl-include=C:/curl-7.19.5-devel-mingw32/include --with-cur l-dir=C:/curl-7.19.5 --with-curl-lib=C:/curl-7.19.5-devel-mingw32/lib --prefix=C:/MinGW --with-curllib checking for curl-config... no checking for main() in true.lib... no *** 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 --srcdir=. --curdir --ruby=C:/Ruby/bin/ruby --with-curl-dir --with-curl-include=${curl-dir}/include --with-curl-lib=${curl-dir}/lib --with-curllib extconf.rb:9: Can't find libcurl or curl/curl.h (RuntimeError) Try passing --with-curl-dir or --with-curl-lib and --with-curl-include options to extconf. Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/taf2-curb-0.4.8.0 for inspection. Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/taf2-curb-0.4.8.0/ext/gem_make.out C:\Documents and Settings\Me>
我从这个网址安装了curl-7.19.5和curl-7.19.5-devel-mingw: http://curl.haxx.se/download.html
帮助!
谢谢!
答案 0 :(得分:1)
这是我的解决方案:
首先你需要这个人:
https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
希望你能阅读,并使用rubyinstaller安装重新安装ruby。
为win32下载二进制libcurl
将libcurl_imp.lib从%LIBCURL%复制到您的%RUBY%\ lib(黑客,没时间弄清楚操作方法)
将%LIBCURL%\ lib \ Release \ curllib_static.lib复制并重命名为%RUBY%\ lib \ curl.lib(同样的黑客)
骶骨部分
gem install taf2-curb --platform = ruby - --with-curl-dir =%LIBCURL%
你有mutch错误,因为邪恶不睡觉,但别担心,圣战在这里。
现在要小心谨慎
转到%RUBY%\ lib \ ruby \ gems \ 1.9.1 \ gems \ taf2-curb-0.5.4.0 \ ext
邪恶坐在2个文件中:curb_easy.h和curb_easy.c
用你最喜欢的编辑器打开它们,找到并替换它们
找到邪恶的每个条目:接口,除了文字“接口...”,并小心地将其替换为
interface_wtf_ms_i_love_bgates
打开Makefile,将-llibcurl_imp添加到字符串
LIBS = $(LIBRUBYARG_SHARED)-lcurl -lshell32 -lws2_32 -llibcurl_imp
现在我认为你已经准备好了,在ext中运行devkitvars.bat,然后运行make 你必须在gem的ext目录中获得curb_core.so。
此后需要手动更改gemspec
c:... \ lib \ ruby \ gems \ 1.9.1 \ gems \ taf2-curb-0.5.4.0> gem spec .... \ cache / taf2-curb-0.5.4.0.gem --ruby> .... \ specifications / taf2-curb-0.5.4.0.gemspec
宝石列表现在将显示已安装taf2-curb
这是所有这些东西的证明:
constaNT im_mtf_spamma_yes_i_am你可以在github feedtosis页面找到它的值
C:\ test3> rails console
加载开发环境(Rails 3.0.3)
IRB(主):001:0> client = Feedtosis :: Client.new('im_mtf_spamma_yes_i_am')
=> #{},:namespace =>“feedtosi
s“,:retained_digest_size => 10},@ backend = {}>
IRB(主):002:0> result = client.fetch
=> #
IRB(主):004:0> result.perform
=>真正
IRB(主):005:0> result.body_str
=> “\ r \ n
s2full.xsl \“?> .....
答案 1 :(得分:0)
你想检查你的mkmf.log 也许将curb-config添加到您的路径中? -r