我在Ubuntu下使用Java和Netbeans。我正在使用JNI,并希望加载dll,在linux中它有".so“扩展名。为什么这段代码可以工作:
static {
System.load("/home/user/NetBeansProjects/JD2XX-DLL2/dist/jd2xx.so");
}但这不是:
static {
System.loadLibrary("jd2xx");
}使用netbeans中指定的VM选项执行以下操作:
-Djava.library.path="/home/user/NetBeansProjects/JD2XX-DLL2/dist/"我收到一个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError:
no jd2xx.so in java.library.path这对我在Windows下是有效的。
发布于 2012-04-30 23:56:25
在Unix系统上,
System.loadLibrary("Foo");在库搜索路径中查找名为libFoo.so的文件。
相应地重命名该文件。
相比之下,在Windows系统上,调用将在库搜索路径中查找名为Foo.dll的文件。
https://stackoverflow.com/questions/10386644
复制相似问题