Как запустить мое приложение ruby, используя библиотеку расширений ruby ​​(в c), в Windows?

Я был бы благодарен за любую помощь в этом: я хочу написать расширение к моей библиотеке c. Я создал файл zmq.cpp, который использует библиотеку libzmq (написан на C++).

Я создал makefile, используя ruby ​​extconf.rb, затем запускаю 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, и он работал нормально - я создал make-файл и смог запустить тестовое приложение, используя команду, аналогичную приведенной здесь (отличались только пути).

Спасибо

1 ответ

Решение

Исправляя мой предыдущий ответ - похоже, путь, который вы вводите с помощью "-I", неверен. Он должен указывать на каталог, в котором находится librbzmq.so. В качестве альтернативы вы можете установить библиотеку, используя:

nmake install

или используйте RUBYLIB для настройки пути поиска:

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

С уважением

даровать

Другие вопросы по тегам