jna dll-java 用jna调用dll库问题

问题描述

java 用jna调用dll库问题

昨天接手一个新项目,是关于java调用dll的,用jna实现,在我本机上运行成功,今天换了台电脑,就出现了EXception in main thread java.lang.UnsatisfiedLinkError UNable to load library..........请问有谁知道原因啊?急。

解决方案

dll已经放到system32
下了,还是一样出错

解决方案二:

目测是需要加载的dll位置不对 你再看看啦

解决方案三:

使用JNA通常会遇到不能加载的问题,这一般是应为dll文件没有放在正确的位置导致的。
1:dll文件要放到项目路径下;
2:把dll文件放到库文件路径下,执行这句代码 System.out.println(System.getProperty("java.library.path"));
然后把dll文件copy到任意一个路径下

  3:dll名字好像不能带有“_”(这个是我自己遇到的一个问题,仅供参考)
时间: 2024-08-29 11:02:41

jna dll-java 用jna调用dll库问题的相关文章

java中如何调用DLL方法

前段时间项目需要使用调用DLL来控制POS机外设,如钱箱和小票打印机.顾客显示屏等,于是,我便开始了java调用DLL中的方法的探索,事实上,网上的例子还是很多的,一些外部包的例子也有很多,但每个人的实际情况都有所不同,尽管只是一个很简单的调用,也花了我不少时间,在这里分享一下我的经验吧. 我是通过一个外部的JAR包来间接来获得DLL文件的句柄 的,它就是jacob了,这是java com brige的简写,呵呵, 这个名称起得非常形象吧,我用的版本是jacob 1.9的,你可以到它的官方网站去

关于java中用JNative调用dll文件报错的问题,跪求大神解决

问题描述 我在Eclipse中新建一个java工程,在java文件中用JNative调用dll文件,我把JNativeCpp.dll放在的C:WindowsSystem32中,把JNative.jar放在C:ProgramFilesJavajre7libext中,可是运行的时候总是报错JNativelibrarynotloaded,sorry!求解决啊,弄了一下午了,快死人了,还没调出来! 解决方案 解决方案二:JNativeCpp.dll放在的C:Windows下试试

dll结构体-C#调用DLL结构体,第一次成功,第二次的时候就报错。尝试读取或写入受保护的内存。

问题描述 C#调用DLL结构体,第一次成功,第二次的时候就报错.尝试读取或写入受保护的内存. C++代码 typedef struct tagIDCardData{ char Name[32]; //姓名 char Sex[6]; //性别 char Nation[20]; //名族 char Born[18]; //出生日期 char Address[72]; //住址 char IDCardNo[38]; //身份证号 char GrantDept[32]; //发证机关 char User

java使用JNA(Java Native Access)调用dll的方法_java

JNA(Java Native Access):建立在JNI之上的Java开源框架,SUN主导开发,用来调用C.C++代码,尤其是底层库文件(windows中叫dll文件,linux下是so[shared object]文件).JNI是Java调用原生函数的唯一机制,JNA就是建立在JNI之上,JNA简化了Java调用原生函数的过程.JNA提供了一个动态的C语言编写的转发器(实际上也是一个动态链接库,在Linux-i386中文件名是:libjnidispatch.so)可以自动实现Java与C之

java 用 jawin 调用 dll

问题描述 我要用java 调用jawin 读取 dll 来实现读取硬盘编号目的以下是原代码package com.ywda.util;import org.jawin.COMException;import org.jawin.FuncPtr;import org.jawin.ReturnFlags;public class nativeDll {public static void main(String[] args) throws Exception {int result1,result

请教java通过JNative调用dll的问题,HWND参数如何创建。

问题描述 JNativen=null;n=demo.getJNativeByFunction("InitDLL");n.setRetVal(Type.INT);HWNDhwnd=newHWND(0);n.setParameter(0,hwnd.getValue());n.invoke();如此调用报错:-----------------------------------------------------------------------------------##Anunexpe

DLL中使用LoadLibrary调用DLL失败的问题

问题描述 TestDLL里使用extern"C"__declspec(dllexport)intMyFunc()导出一个函数MyFunc;我在TestDLLApp里使用[DllImport("TestDLL.dll")]int__stdcallMyFunc()导入后这个函数.把生成的TestDLL.dll拷贝到TestDLLApp.exe文件一起,运行TestDLLApp.exe发现是没有问题的,也能得到MyFunc函数的返回值.现在在TestDLL的函数MyFun

求救,java通过JNI调用C++ dll

问题描述 环境:win7+VS2008+eclipse问题:java调用release的dll中的一个函数第三次时出错,前两次都正常,第三次调用时Java代码进入调用dll中该函数的地方编辑器就死掉了,只能强制停止才能结束调试,没有报任何错误,dll也没反馈任何值.vs附加进行方式调试,每次都能正常运行注:在三次调用该函数时,dll的其它函数也被调用,没有出现什么异常.环境:server2003+eclipse同样的代码,dll为release版,第一次调用报错,重新调用就会正常代码无法往外考,

dll窗体及数据调用-delphi DLL数据及窗体调用

问题描述 delphi DLL数据及窗体调用 DLL工程文件代码: library DLLUSERS; uses Windows, ADODB, Dialogs, Forms, SysUtils, Classes, U_DataModule in 'U_DataModule.pas' {DataModule1: TDataModule}, U_Users in 'U_Users.pas' {Frm_Users}, U_Initialize in 'U_Initialize.pas'; {$R *

C++生成dll和调用dll的方法实例_C 语言

本人根据网络多个相关博客帖子原创 1)生成dll 建立两个文件 xxx.h , xxx.cpp xxx.h内容如下: #ifdef BUILD_XXX_DLL#define EXPORT __declspec(dllexport)#else#define EXPORT __declspec(dllimport)#endif extern "C"{EXPORT void example(void);... ...} xxx.cpp内容如下: #define BUILD_XXX_DLL#i