JNI system.loadlibrary проблема - родной C ++ DLL с использованием библиотеки C - PullRequest
0 голосов
/ 12 апреля 2011

У меня довольно раздражающая проблема компиляции.

Я пытаюсь создать библиотеку System.load на C ++ DLL в VS2010, которая в свою очередь использует C DLL, скомпилированную в VS2008.Я получаю следующую ошибку: java.lang.UnsatisfiedLinkError: не удалось запустить приложение, поскольку его параллельная конфигурация неверна

Это происходит всякий раз, когда моя C ++ DLL пытается выполнить вызов функцииC DLL.Оба компилируются просто отлично, и оба находятся в папке, доступной для Java Applet.

Возможно ли это как-то решить?Вам нужна дополнительная информация?

Ответы [ 2 ]

2 голосов
/ 12 апреля 2011

Вы должны попробовать использовать средство обхода зависимостей в своих DLL. Из-за параллельной ошибки я предполагаю, что один из пакетов переадресации времени выполнения c или один из пакетов noredist отсутствует. Но Депутат должен показать вам это.
Если это не помогает, вы можете получить дополнительную информацию из журнала событий Windows, поскольку там регистрируются параллельные ошибки, или вам нужно использовать sxstrace для получения дополнительной информации.

0 голосов
/ 12 апреля 2011

Установили ли вы среды выполнения VC2010 и VC2008?

Кроме того, вы должны убедиться, что манифесты обеих DLL правильно настроены, чтобы можно было загрузить правильную версию используемой библиотеки.

Смотрите также: http://msdn.microsoft.com/en-us/library/ms235342.aspx

...