Слияние / объединение DLL / LIB (C ++ / Java) - PullRequest
1 голос
/ 29 июля 2011

В настоящее время мы используем программный продукт, который выпускает файлы dll и lib для своего программного обеспечения (они не дают нам исходный код).Их файлы были написаны на C. Мы пишем оболочку dll для их программного обеспечения на C ++ (используя VS2010) и экспортируем все dll в проект java.Затем мы загружаем все библиотеки DLL в Java с помощью вызовов System.loadLibrary ().Все работает, как и ожидалось.

Проблема в том, что компания-разработчик выпустит «более новую» версию программного обеспечения (Ex v1.0, v2.5 и т. Д.), А имена их dll идентичны дажехотя версии разные.Таким образом, мы сталкиваемся с ошибками в Java, используя вызовы System.loadLibrary (), потому что он не знает, на какой из них ссылаться (так как все они называются одинаково).

Я мог бы видеть, явно устанавливая аргументы VM для указанияв определенную папку lib, которая содержит нужную нам версию (например: -Djava.library.path = lib \ v1_0).Проблема в том, что нам нужно запускать ВСЕ версии во время одного и того же Java-приложения (например, v1.0, v2.5 и т. Д.).

Поэтому я лучше всего пытаюсь собрать и объединить dll,мы выпускаем только 1 dll для каждой версии (содержащей нашу dll-оболочку и все их dll или библиотеки), и эта dll будет иметь уникальное имя.Кто-нибудь знает, как это сделать, или есть лучший способ, который они могут предложить?

Спасибо!

1 Ответ

0 голосов
/ 29 июля 2011

Используйте Maven с плагином Maven NAR для управления адом зависимостей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...