JNI kullanan bir Java projesi üzerinde çalışıyorum. JNI, kendi yazdığım özel bir kitaplığı çağırıyor, diyelim ki mylib.dll ve bu, libsndfile-1.dll adlı üçüncü taraf kitaplığına bağlı.
Programımı çalıştırdığımda çöküyor
java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries.
Bu siteyi (ve diğerlerini) araştırdım ve bir dizi düzeltmeyi denedim:
Bağımlılık gezgini koştum. DW birkaç uyarı verdi - libsndfile, MPR.DLL ve SHLWAPI.DLL için gerekli olan iki kitaplığın "çözümlenmemiş içe aktarmalar" olduğu - ancak DW SSS bu uyarıların güvenli bir şekilde göz ardı edilebileceğini söyledi.
Mylib.dll'deki yöntem adlarını burada önerildiği gibi düzelttim . Yöntem adları derleyici tarafından bir şekilde karıştırılmıştı, ancak bağlayıcı bayrakları ekledim ve dll yöntem adları artık jni başlık dosyamdakilerle tam olarak eşleşiyor.
Tüm bu DLL'leri aynı dizine - onları çağıran .jar ile aynı dizine - doğru PATH'de olduklarından emin olmak için koydum.
Nafile.
Neler olduğu hakkında bir fikri olan var mı?
Bir MacBook pro üzerinde (Parallels aracılığıyla) Visual Studio 2010'da geliştirmemi yapıyorum. Testimi bir toshiba dizüstü bilgisayarda Windows XP'de yapıyorum.