按照网上查到的JNI编写步骤写helloworld,生成了头文件,dll,java调用dll的时候出现异常:
Thread[main](Suspended(exceptionUnsatisfiledLinkError))
ClassLoader.loadLibrary(Class,String,boolean)line:notavailable
Runtime.loadLibrary0(Class,String)line:notavailable
System.loadLibrary(String)line:notavailable
HelloWorld.<clinit>()line:5
从昨天折腾到现在,问题终于解决了。找不到dll的原因是我的jdk是64位的,而生成的dll是32位的。用eclipse运行的时候没有看到这个错误信息,后来我尝试在cmd下运行,发现了错误:Can'tloadIA32-bit.dllonaAMD64-bitplatform。我尝试用vs2010输出64位dll,但是还是报这个错,不知道为什么。最后换了个32位的jdk,32位的eclipse,生成32位dll,解决!