如何在Windows中使用ruby扩展库(在c中)运行我的ruby应用程序?
-
03-07-2019 - |
题
我会感谢任何帮助: 我想写一个扩展到我的c库。我创建了使用库libzmq(用C ++编写)的文件zmq.cpp。
我使用ruby extconf.rb创建了makefile,然后运行了nmake。一切都很好。 Nmake生成文件
librbzmq-i386-mswin32.def
librbzmq-i386-mswin32.lib
librbzmq-i386-mswin32.exp
librbzmq.so librbzmq.so.manifest
这一切都是在Windows XP中完成的。
然后我有一个测试程序,在我的第一行中有:
require 'librbzmq'
当我尝试使用
运行我的测试程序时ruby -I"C:\Documents and Settings\Kustarova\wcopy\trunk\librbzmq\librbzmq-i386-mswin32.lib" -I"C:\Documents and Settings\Kustarova\wcopy\trunk\windows\Debug\libzmq.lib" ./rb_remote_lat.rb
我得到了
rb-remote_lat.rb:1:in `require':no such file to load -- librbzmq (LoadError) from ./rb_remote_lat.rb:1:in `<main>'
文件位置正确,我查了一下。
你知道如何运行吗?
注意:我在ubuntu中做了所有这些并且它工作正常 - 我创建了makefile,并且能够使用类似命令运行测试应用程序(只有路径不同)。
由于
解决方案
更正我之前的答案 - 它看起来像你使用“-I”提供的路径。是错的。它应该指向可以找到librbzmq.so的目录。或者,您可以使用以下命令安装库:
nmake install
或使用RUBYLIB设置搜索路径:
set RUBYLIB="C:\Documents and Settings\Kustarova\wcopy\trunk\librbzmq"
问候
授权
不隶属于 StackOverflow