2

我将感谢您对此的任何帮助:我想为我的 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,并且能够使用与此处类似的命令运行测试应用程序(只有路径不同)。

谢谢

4

1 回答 1

1

更正我之前的回答 - 看起来您使用“-I”提供的路径是错误的。它应该指向可以找到 librbzmq.so 的目录。或者,您可以使用以下方法安装库:

nmake install

或使用 RUBYLIB 设置搜索路径:

set RUBYLIB="C:\Documents and Settings\Kustarova\wcopy\trunk\librbzmq"

问候

授予

于 2009-05-04T10:39:05.573 回答