Расширение Ruby C не разрешает сторонние библиотеки DLL во время выполнения
У меня есть расширение Ruby C, которое предоставляет интерфейс ruby для использования третьей части библиотеки C. Я могу собрать библиотеку, давайте назовем это как-нибудь. Однако он динамически компилируется против сторонних.lib и.dll файлов.
Когда я на самом деле пытаюсь запустить скрипт ruby, который имеет
require 'something'
это терпит неудачу. Руби не знает, как найти библиотеки DLL, с которыми было связано что-то. Это дает мне ошибку вроде:
--------------------------- ruby.exe - системная ошибка --------------------------- Программа не может запуститься, потому что SomeThirdParty.dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы решить эту проблему. --------------------------- Хорошо ---------------------------
Что мне нужно сделать, чтобы сказать ruby, как найти эту DLL? Если я помещу все сторонние dll в тот же каталог, что и скрипт ruby, который я запускаю, это работает, но я бы предпочел этого не делать.
1 ответ
Решение
Просто поместите это в место, которое находится внутри вашего пути. Хорошее место может быть ruby\bin
каталог.