Расширение Ruby C не разрешает сторонние библиотеки DLL во время выполнения

У меня есть расширение Ruby C, которое предоставляет интерфейс ruby ​​для использования третьей части библиотеки C. Я могу собрать библиотеку, давайте назовем это как-нибудь. Однако он динамически компилируется против сторонних.lib и.dll файлов.

Когда я на самом деле пытаюсь запустить скрипт ruby, который имеет

require 'something'

это терпит неудачу. Руби не знает, как найти библиотеки DLL, с которыми было связано что-то. Это дает мне ошибку вроде:

---------------------------
ruby.exe - системная ошибка
---------------------------
Программа не может запуститься, потому что SomeThirdParty.dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы решить эту проблему. 
---------------------------
Хорошо   
---------------------------

Что мне нужно сделать, чтобы сказать ruby, как найти эту DLL? Если я помещу все сторонние dll в тот же каталог, что и скрипт ruby, который я запускаю, это работает, но я бы предпочел этого не делать.

1 ответ

Решение

Просто поместите это в место, которое находится внутри вашего пути. Хорошее место может быть ruby\bin каталог.

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