0 0

jnative无法加载dll文件10

用的dll是vc写出来的,已经放到system32下了

代码就只有这些

import org.xvolks.jnative.JNative;
import org.xvolks.jnative.exceptions.NativeException;

public class q {
public static void main(String[] args){
try {
JNative n = new JNative("test.dll", "testfunc");
} catch (NativeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

运行的时候提示
org.xvolks.jnative.exceptions.NativeException: DLL test.dll not found
at org.xvolks.jnative.JNative.nLoadLibrary(Native Method)
at org.xvolks.jnative.JNative.loadLibrary(JNative.java:545)
at org.xvolks.jnative.JNative.<init>(JNative.java:521)
at org.xvolks.jnative.JNative.<init>(JNative.java:440)
at com.orm.test.q.main(q.java:9)

但是如果加载JNativeCpp.dll会提示 Function testfunc not found,我想应该已经加载成功dll了找不到函数而已.

请问应该怎么解决?
问题补充:
放在q.java同目录,windwos目录system32目录都放了一个,应该不是路径问题,因为相同路径的JNativeCpp.dll就能加载
问题补充:
调用的dll一定要是用jni编译出来的吗?不然不能加载?
2008年12月30日 11:10

7个答案 按时间排序 按投票排序

0 0

可能是没有安装VC运行库:vcredist_x86.exe,该运行库有2005,2008和2010版本,可分别尝试;
另外如果是64位操作系统,需要将dll放在SysWOW64目录下;

2016年12月12日 19:57
0 0

1.用Dependency Walker打开这个DLL文件看是否有其他动态链接的DLL
2.在加载这个DLL前,加载其他冬天链接的DLL

2015年4月24日 13:31
0 0

PS,现在有一个JNative的库,可以直接调用标准动态链接库.
http://jnative.free.fr/SPIP-v1-8-3/
可能对你有帮助。

2009年1月11日 13:05
0 0

引用
调用的dll一定要是用jni编译出来的吗?不然不能加载?

当然!

2008年12月31日 18:43
0 0

用VC编译JNI的动态链接库,一定要用C调用的形式。用VC自带的depends查看一下test.dll符号表。否则找不到调用函数。

2008年12月30日 20:59
0 0

“DLL test.dll not found ”报没有发现test.dll的错误,说明你JNative n = new JNative("test.dll", "testfunc"); 这里的test.dll路径有问题

2008年12月30日 16:16
0 0

把你的DLL放在你的q.java同目录下面。

2008年12月30日 15:46

相关推荐

    java连接dll文件的驱动,jnative.jar

    java连接dll文件的驱动,jnative.jar,ClassLibrary1.dll,JNativeCpp.dll

    JNative源码包

    直接将源码加到项目中用,将文件中的JanativeCpp.dll放在C:\WINDOWS\system32\JNativeCpp.dll下,源码我改过了,因为之前老是JanativeCpp.dll文件加载不到,网上搜了好长时间也没看到解决方案。

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java开源包1

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包11

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包2

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包3

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包6

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包5

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包10

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包4

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包8

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包7

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包9

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包101

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    Java资源包01

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

Global site tag (gtag.js) - Google Analytics