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

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

Я создал make-файл, используя 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 Ответ

1 голос
/ 04 мая 2009

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

nmake install

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

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

привет

грант

...