我会感谢任何帮助: 我想写一个扩展到我的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"

问候

授权

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top