Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取java.lang.UnsatifiedLinkError:查找函数时出错';添加#u编号';:找不到指定的过程_Java_Jna - Fatal编程技术网

获取java.lang.UnsatifiedLinkError:查找函数时出错';添加#u编号';:找不到指定的过程

获取java.lang.UnsatifiedLinkError:查找函数时出错';添加#u编号';:找不到指定的过程,java,jna,Java,Jna,我使用JNA从java调用.Net方法,它可以加载.dll文件,但不能调用该方法。而且没有拼写错误,加载.dll文件也很好。我收到错误:线程“main”java.lang.UnsatifiedLinkError中出现异常:查找函数“Add_Numbers”时出错:找不到指定的过程。 公共函数Add_number(ByVal no1为整数,ByVal no2为整数 整数)作为整数 是一个来自.Net(.dll)的方法。有人能帮我吗 这是java代码 public interface Image_C

我使用JNA从java调用.Net方法,它可以加载.dll文件,但不能调用该方法。而且没有拼写错误,加载.dll文件也很好。我收到错误:线程“main”java.lang.UnsatifiedLinkError中出现异常:查找函数“Add_Numbers”时出错:找不到指定的过程。

公共函数Add_number(ByVal no1为整数,ByVal no2为整数 整数)作为整数

是一个来自.Net(.dll)的方法。有人能帮我吗

这是java代码

public interface Image_Capture extends Library {
        Image_Capture INSTANCE = (Image_Capture) Native.loadLibrary("D:\\Test_DLL", Image_Capture.class);
        int Add_Numbers(int a,int b);        
    }   

    public static void main(String[] args) throws Exception {

        Image_Capture sdll = Image_Capture.INSTANCE;       
        int result=sdll.Add_Numbers(10,20);
        System.out.println(result);
}
这是.Net中的代码。我不知道总数

Public Function Add_Numbers(ByVal no1 As Integer, ByVal no2 As Integer) As Integer

发布这两个文件的源代码---Java和.NET源文件@shekhar suman我已经添加了java代码,请在DLL上再次检查它,以查看您正在查找的导出函数的实际名称。正如technomage所说,使用Dependency Walker,您尝试调用的函数的名称更可能不是“Add_Numbers”,JNA只能将C函数作为DLL的导出调用,它不能调用.NET方法。