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

StackOverflow https://stackoverflow.com/questions/819572

Вопрос

Я был бы благодарен за любую помощь в этом:Я хочу написать расширение к моей библиотеке 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, и это сработало нормально - я создал makefile и смог запустить тестовое приложение, используя аналогичную команду, как здесь (отличались только пути).

Спасибо

Это было полезно?

Решение

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

nmake install

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

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

с уважением

грант

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top