2013年4月25日 星期四

[Java] Java JNI error java.lang.UnsatisfiedLinkError的解決方法

簡單來說JNI即是JAVA用來跟C/C++等其他語言溝通的函式庫。Java.lang.UnsatisfiedLinkError這個問題雖然很多人也遇到,
不過剛好都不是我的root cause,在這裡留下我的解法

因為我一台電腦是JVM 32 bit,另一台是JVM 64 bit(可以java -d64 -version 指令來確認,如下圖)
,但我的dll是build成x86,導致我用JVM 64來跑時,就會出現這個錯誤。
解決的方法就是更改Visual studio的設定,重build一個x64的dll,就OK了
真是一個不注意就白花費了好多問題呵!












JNI is a bridge between JAVA and C/C++,
many people encounter the error as Java.lang.UnsatisfiedLinkError,
my root cause is that my PC is JVM 32 bit, but my dll is built into 64 bit(you could check what java JVM version you use with command "java -d64 -version"),
the solution is very simple that to rebuild the dll to 32 bit.



沒有留言:

張貼留言