SET PATH = "/ cygdrive / c / Program Files / Java / jdk1.8.0_45";% PATH%

отаю над проектом Java, который использует JNI. JNI вызывает пользовательскую библиотеку, которую я написал сам, скажем, mylib.dll, и это зависит от сторонней библиотеки, libsndfile-1.dll.

Когда я запускаю свою программу, она падает

java.lang.UnsatisfiedLinkError:  C:\...path...\mylib.dll: Can't find dependent libraries.

Я искал этот сайт (и другие), и я попробовал ряд исправлений:

Я побежал ходок зависимости. DW дал пару предупреждений - что две библиотеки, необходимые для libsndfile, MPR.DLL и SHLWAPI.DLL, имели «неразрешенный импорт» - ноDW FAQ сказал, что эти предупреждения можно смело игнорировать.

Я исправил имена методов в mylib.dll, как предложеноВот, Имена методов каким-то образом были искажены компилятором, но я добавил флаги компоновщика, и теперь имена методов dll теперь точно совпадают с именами в моем заголовочном файле jni.

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

Нет кости.

Кто-нибудь знает, что происходит?

Я занимаюсь разработкой в ​​Visual Studio 2010 на MacBook Pro (через Parallels). Я провожу тестирование в Windows XP на ноутбуке Toshiba.

Ответы на вопрос(8)

Ваш ответ на вопрос