Jruby 1.6增加了对c native扩展的支持,但是如何使用c扩展构建gem?

时间:2011-11-10 08:13:13

标签: windows makefile jruby native

是的。在Windows XP SP3上。这就是:

jruby -S gem install a_gem_with_c_extensions

无法构建a_gem_with_c_extensions

找不到make命令

我需要cygwin,mingw,ruby dev-kit吗?

为什么没有记录?原生扩展支持功能已经出现了7个月,但没有人写过一行来教它如何设置?

2 个答案:

答案 0 :(得分:0)

您需要一个功能构建环境来编译C扩展。您所需要的将取决于您正在构建的C扩展。我首先安装Cygwin并完成所有设置。您可能还需要注意,JRuby中的C扩展支持仍然根据其wiki page被认为是实验性的,因此您尝试构建的扩展可能会也可能不起作用。

或者看这里,似乎DevKit是在Windows上构建C扩展的首选方法:

"JRuby, Windows, and C Extensions" - 它看起来像一个漂亮的turorial但现在已经一岁了。

同时查看"JRuby-on-Windows C extension building"

答案 1 :(得分:0)

最后我发现了我做错了什么:

当然,windows上的简单方法是使用ruby devkit,但是当我按照安装说明操作时我做错了什么:

  1. 从此处下载当前的DevKit-tdm -...- sfx.exe文件。
  2. 运行自解压可执行文件并选择在C:\ RubyDevKit中提取它。
  3. 完成提取后,打开Ruby命令提示符并导航到C:\ RubyDevKit。
  4. 运行以下命令:
  5. ruby​​ dk.rb init

    ruby​​ dk.rb install

    我当时完全如上所述,但后来我错误地认为不再需要C:\ RubyDevKit并删除了整个文件夹,导致gem devkit脚本无法找到“make” “命令,位于C:\ RubyDevKit \ bin

    修复如下:再次执行上述所有步骤,但在最后一个命令中使用--force选项:ruby dk.rb install --force

    哦,之后不要删除C:\ RubyDevKit * :)

    希望这可以帮助某人:)