我正在尝试加载库时收到异常:UnsatisfiedLinkError。我已将库文件放在正确的路径中,并将路径添加到PATH env变量中。但似乎没有任何工作。直到我更改了Tomcat配置,并将-Djava.library.path = C:\ Windows \ System32添加到java选项。我的一位同事不需要这样做,但在她的系统上工作得很好,我错过了什么?任何人都可以对此表示赞赏吗?UnsatisfiedLinkerror
0
A
回答
0
一种选择是注册
Regsvr32 “path to your dll.dll”.
这将安装/注册DLL(我假设它是一个DLL)
但我通常观察到的DLL,如果是COM DLL那么你必须注册它并把它放到System32中
0
在JNI中,Java本地方法的名称和相应C函数的名称不相同。为了调用C函数,C函数的名字必须包含前缀“Java_”,类名和方法名。简单的方法是使用程序“javah”来生成包含所有定义的头文件。
尝试用下面的Windows示例: (记住,Java类名必须是相同的对应文件名)
步骤1.创建以下的Java文件(P.java):
class P
{
static
{
// "P" is the name of DLL without ".dll"
System.loadLibrary ("P");
}
public static native void f(int i);
public static void main(String[] args)
{
f(1);
}
}
步骤2. javac的P.java
步骤3. JAVAH P
那么, “JAVAH” 生成头文件 “Ph” 是
步骤4.创建文件“物理防御”,包括以下两行(此文件定义了导出的符号,在这种情况下C函数的名称):
EXPORTS
Java_P_f
步骤5.创建C文件(PC):
#include "p.h"
JNIEXPORT void JNICALL Java_P_f(JNIEnv *env, jclass c, jint i)
{
printf("%i\n",i);
}
步骤6.在Visual Studio中命令PROMT,定义以下变量:
组JAVA_HOME = JDK
的路径210集包括=%包括%;%JAVA_HOME%\包括;%JAVA_HOME%\包括\ WIN32
步骤7.生成DLL:
CL/LD PC物理防御
步骤8 。运行Java程序:
java的P
(注:P.dll和P.class位于同一目录)
相关问题
- 1. FileObserver UnsatisfiedLinkError
- 2. UnsatisfiedLinkError Android
- 3. UnsatisfiedLinkError JNI
- 4. UnsatisfiedLinkError(com.esri.core.runtime.LicenseImpl.nativeIsClientIdValid)
- 5. JNR UnsatisfiedLinkError
- 6. javaCV UnsatisfiedLinkError
- 7. Sigar UnsatisfiedLinkError
- 8. UnsatisfiedLinkError AudioRecordNew
- 9. UnsatisfiedLinkError swig_module_init
- 10. JNI UnsatisfiedLinkError
- 11. UnsatisfiedLinkError - Djava.library.path
- 12. Android NDK unsatisfiedlinkerror
- 13. Android中的UnsatisfiedLinkError
- 14. “UnsatisfiedLinkError”出现
- 15. JNI和Android ... UnsatisfiedLinkError
- 16. UnsatisfiedLinkError与javafx
- 17. 的Mockito UnsatisfiedLinkError
- 18. RedLaser Sdk UnsatisfiedLinkError
- 19. UnsatisfiedLinkError Libgdx桌面
- 20. JUnit的UnsatisfiedLinkError
- 21. Netbeans 7.1.2 JavaFX UnsatisfiedLinkError
- 22. OpenCV 2.4.1:UnsatisfiedLinkError
- 23. UnsatisfiedLinkError + JNLP + Applet + DLL
- 24. UnsatisfiedLinkError - Tesseract for Android
- 25. Selenium 2.8 UnsatisfiedLinkError IEDriver
- 26. Ubuntu的JNI UnsatisfiedLinkError;
- 27. 得到UnsatisfiedLinkError
- 28. JNI UnsatisfiedLinkError:方法
- 29. Java JNI UnsatisfiedLinkError
- 30. java中的UnsatisfiedLinkError
可能重复:HTTP:// stacko verflow.com/questions/1694161/java-problem-unsatisfiedlinkerror –
参考http://stackoverflow.com/questions/957700/how-to-set-the-java-library-path-from-eclipse这将帮助你.. –