DLL已经做好了,做了一个单独的测试java文件,然后用javac,java也能正常调用运行,但是把这个java文件放到工程中就出问题了:
java.lang.UnsatisfiedLinkError: getStr
at util.CppCaller.getStr(Native Method)
at com.gcrj.sourcediff.main.SourceDiffCmdMain.main(SourceDiffCmdMain.java:70)
Exception in thread "main" 
感觉应该不是路径的问题,system32下,Javahome/bin下,class的同目录下都放了这个dll,还是不行。调试时候发现好像是调用的函数名称的问题。我的申明调用dll的文件叫CppCaller.java,native函数为getStr,这个文件放在util包中,系统调用getStr的时候好像把包名加在了方法名前,调用了一个叫“_Java_util_CppCaller_getStr@8”的函数,然后就出错了。应该怎么解决呢?我用的是eclipse的开发环境。
哪位大虾指点一下,感激不尽,这问题郁闷我好几天了。