当前位置: 首页 > 知识库问答 >
问题:

JNA/C#:java.lang.UnsatifiedLinkError:查找函数“test”时出错

易英奕
2023-03-14
using RGiesecke.DllExport;

namespace dllExample
{
    public class DllExample
    {
        [RGiesecke.DllExport.DllExport]
        public static string Test(string id)
        {
            return "done" + id;
        }
    }
}
@Test
public void jnaTest() {
    DllExample dllExample = Native.loadLibrary("c:\\Users\\IEUser\\RiderProjects\\dllExample\\dllExample\\bin\\Release\\RGiesecke.DllExport.Metadata.dll", DllExample.class);
    Assert.assertEquals("doneabc", dllExample.Test("abc"));
}

public interface DllExample extends Library{
    String Test(String id);
}
    null

UnsatisfiedLinkError:查找函数“test”时出错:一个megadott eljárás nem található.

在com.sun.jna.function.(function.java:245),在com.sun.jna.nativelibrary.getfunction(nativelibrary.java:566),在com.sun.jna.nativelibrary.getfunction(nativelibrary.java:542),在com.sun.jna.nativelibrary.getfunction(nativelibrary.java:528),在

我错过了什么?我是用Visual Studio构建解决方案功能构建dll的。

共有1个答案

司徒焕
2023-03-14

我无法管理地呼出燃料包。不好。

解决方案

删除UnmanagedExport并使用DllExport NuGet包。此处描述:https://github.com/3f/dllexport

 类似资料:
  • 我试图将JNA与来自SiLabs(siusbxp.dll)的USBXPRESS库一起使用,虽然基本函数工作正常,但SI_GetDeviceProductString函数存在问题。 当我尝试运行它时,我得到以下错误: 所以问题是由别的东西引起的,但它仍然存在。

  • 我正在尝试访问一个在java代码中创建的VB.NET dll方法。我试图使用JNA来实现这一点。 这是我的Java代码。 java(调用dll方法) dll中的方法名和hello.java中的方法名没有区别。 有趣的是,我试图测试windows dll msvcrt.dll的puts()方法的代码,它工作得非常好。所以问题就在于点网DLL。请救命!

  • 这是错误消息: 初始化启动层java时出错。lang.module。FindException:无法派生C:\Users\ARVIND\Downloads\poi-bin-5.1的模块描述符。0-20211024\poi-bin-5.1。0\auxiliary\batik-script-1.14。jar是由java引起的。lang.module。InvalidModuleDescriptorExc

  • 在此函数中,我在向量缓存中搜索对.first。向量为: 我用于查找函数的自定义函数是: 我将find函数调用为: 在编译时,我遇到了很多错误。前几行是: 在包含自 /usr/include/c /4.6/算法:63:0,从 my_class.hpp:5,从主.cpp:5: /usr/include/c /4.6/位/stl_algo.h 中包含的文件中:在函数“随机访问迭代器 std::_find

  • 问题内容: 在Eclipse中,如何找到Java应用程序中函数的所有用法?快捷方式是什么? 我尝试使用+ 来搜索方法,但它会返回所有具有相同名称的方法。 问题答案: 右键单击该功能时,可以在上下文菜单中找到菜单条目。当光标在函数或成员上方时,您也可以按+ 。并非每个项目和文件类型都支持此功能。例如,EPIC Perl仅支持查找功能的定义。

  • 问题内容: 我花了很多时间试图在Java应用程序中使用C#函数,但是没有成功…我在C#中编写了以下lib: 这个dll调用了另一个dll来进行一些操作,但是当我对其进行编译时,我可以在Realse文件夹中找到Dll,并且一切似乎都还可以,所以我使用32bit,64bit和Any CPU选项对其进行了编译,以确保它不是我的问题。 使用32位Dependency Walker 和任何CPU选项分析我的