Rad*_*dek 4 java java-native-interface
我在Ubuntu下使用Java和Netbeans.我正在与JNI合作,并希望在Linux中加载dll,它具有".so"扩展名.为什么这段代码有效:
static {
System.load("/home/user/NetBeansProjects/JD2XX-DLL2/dist/jd2xx.so");
}
Run Code Online (Sandbox Code Playgroud)
但这不是:
static {
System.loadLibrary("jd2xx");
}
Run Code Online (Sandbox Code Playgroud)
使用netbeans中指定的VM选项:
-Djava.library.path="/home/user/NetBeansProjects/JD2XX-DLL2/dist/"
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError:
no jd2xx.so in java.library.path
Run Code Online (Sandbox Code Playgroud)
这适用于Windows下的我.
在Unix系统上,
System.loadLibrary("Foo");
Run Code Online (Sandbox Code Playgroud)
查找libFoo.so库搜索路径中调用的文件.
相应地重命名文件.
相反,在Windows系统上,该调用将查找Foo.dll库搜索路径中调用的文件.
| 归档时间: |
|
| 查看次数: |
953 次 |
| 最近记录: |