通过jna访问用c编写的dll时出错

通过jna访问用c编写的dll时出错,c,dll,jna,C,Dll,Jna,我已经用C编写了一个dll,现在通过32位windows上的jna访问dll中的函数,但它引发了以下错误: 线程“main”java.lang.UnsatifiedLinkError中出现异常:无法 加载库“mydll”:找不到指定的模块。在 com.sun.jna.nativellibrary.loadLibrary(nativellibrary.java:164)位于 com.sun.jna.nativellibrary.getInstance(nativellibrary.java:237

我已经用C编写了一个dll,现在通过32位windows上的jna访问dll中的函数,但它引发了以下错误:

线程“main”java.lang.UnsatifiedLinkError中出现异常:无法 加载库“mydll”:找不到指定的模块。在 com.sun.jna.nativellibrary.loadLibrary(nativellibrary.java:164)位于 com.sun.jna.nativellibrary.getInstance(nativellibrary.java:237)位于 Library$Handler.(Library.java:140)位于 com.sun.jna.Native.loadLibrary(Native.java:375)位于 com.sun.jna.Native.loadLibrary(Native.java:360)位于 CLibrary.(DllTest.java:6)位于DllTest.main(DllTest.java:19)

虽然相同的dll(针对64位的)在64位上运行良好,但问题在于32位系统上的32位dll


如何解决此问题?

cdecl或stdcall?在32位平台中,您需要注意这一点。在64位平台中,存在单次调用约定HI现在正在添加_stdcall我能够正确加载库,但仍然无法找到导出的函数。我没有使用任何imort库和头文件,我使用的是Eclipse,您可能需要使用。