kritzikratzi / edsdk4j

Canon SDK for Java
Other
109 stars 33 forks source link

Strange java.lang.UnsatisfiedLinkError: Unable to load library #14

Closed Eljah closed 9 years ago

Eljah commented 9 years ago

Hello!

I'm also getting the error on Unable to load library. After reading previous reports I've double checked all possible places where dll could be placed.

I've added file checking right to the code, so please see the output:

Java Architecture: amd64 - Using EDSDK DLL: C:/edsdk4j/EDSDK.dll C:\edsdk4j. file:C:\edsdk4j.classpath directory:C:\edsdk4j.externalToolBuilders directory:C:\edsdk4j.git file:C:\edsdk4j.gitignore directory:C:\edsdk4j.idea file:C:\edsdk4j.project directory:C:\edsdk4j.settings file:C:\edsdk4j\arch.png directory:C:\edsdk4j\bin file:C:\edsdk4j\build.xml file:C:\edsdk4j\config.jnaerator file:C:\edsdk4j\DPPDLL.dll file:C:\edsdk4j\DPPLibCom.dll file:C:\edsdk4j\DPPRSC.dll directory:C:\edsdk4j\EDSDK file:C:\edsdk4j\EDSDK.dll file:C:\edsdk4j\edsdk4j.iml file:C:\edsdk4j\EdsImage.dll directory:C:\edsdk4j\lib file:C:\edsdk4j\license.txt file:C:\edsdk4j\MLib.dll file:C:\edsdk4j\README.md file:C:\edsdk4j\readme.txt directory:C:\edsdk4j\src file:C:\edsdk4j\Ucs32P.dll true Exception in thread "Main Thread" java.lang.UnsatisfiedLinkError: Unable to load library 'C:/edsdk4j/EDSDK.dll': The specified module could not be found.

I have placed sdk's dlls to the working directory of the project as you can see from my output. And I haveset edsdkDllLoc = "C:/edsdk4j/EDSDK.dll"; to the real file path

So the problem is still unclear for me... I'm using jdk 1.6.0_45 for this project and run SinglePhoto.java with -d32 -Djava.library.path=C:\edsdk4j options (and tried without them)

Eljah commented 9 years ago

Then I tried that way: System.load("C:/edsdk4j/EDSDK.dll");

and I'm getting

Exception in thread "Main Thread" java.lang.UnsatisfiedLinkError: Can't load library: C:/edsdk4j/EDSDK.dll at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1706) at java.lang.Runtime.load0(Runtime.java:770) at java.lang.System.load(System.java:1004) at edsdk.api.CanonCamera.(CanonCamera.java:162) at probe.Test.main(Test.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Eljah commented 9 years ago

Hi again! False positive. The root of the problem was the invalid jdk: my only 32b jdk was jrockit jdk 1.6 but after installing the last 1.8 32b jdk the problem no longer exists.

kritzikratzi commented 9 years ago

glad you could fix it yourself :)