Как запустить мое приложение 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"
С уважением
даровать