如果您对此有任何帮助,我将不胜感激: 我想为我的 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"
问候
授予
关于c - 如何在 Windows 中使用 ruby 扩展库(c 语言)运行我的 ruby 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/819572/