java jna 调用linux中so库

J2EE 码拜 10年前 (2015-04-13) 2825次浏览 0个评论
public class StartNVR {
      public interface diaoyong extends Library{
//	 diaoyong INSTANCE =(diaoyong)Native.loadLibrary("C:\Windows\System32\NVRCModule",diaoyong.class);//加载window中的dll文件
//    	  diaoyong INSTANCE =(diaoyong)Native.loadLibrary("/cstor/Lib/NVRCModule",diaoyong.class);//加载linux中的.so库
    	  diaoyong INSTANCE =(diaoyong)Native.loadLibrary("NVRCModule",diaoyong.class);
//    	  diaoyong INSTANCE =(diaoyong)Native.loadLibrary("libNVRCModule.so",diaoyong.class);
	 public int NVRC_RestartNVR(int lUserID);//重新启动
	 public int NVRC_Startup(int nLocalPort, String c);//启动
//	 public static class strdev extends Structure(){
//		 
//	 }
	 public int NVRC_Login(String sIP, int nPort, String sUser, String sPass, 
			 IntByReference IUserID,  Structure structdev);//用户登录
	 public int NVRC_Logout(int IUserID);//用户登出
	// public int NVRC_RestartNVR(String string);
	 
}

在window系统中 用上面的方法调用.dll文件中的接口可以调得到 但是在linux中调用so库是调用不到 来个高手帮忙解决一下  

java jna 调用linux中so库
5分
loadLibrary方法是不需要写后缀的,只需要库名,是跨平台的方法…
load方法可以输入完整路径。
java jna 调用linux中so库
  diaoyong INSTANCE =(diaoyong)Native.loadLibrary(“NVRCModule”,diaoyong.class); 没有写后缀啊 NVRCModule 单只的就是库的名字 在linux中 libNVRCModule.so 我这样子的调用应该没有什么错误啊  楼上的也不知道是哥哥姐姐
java jna 调用linux中so库
5分
loadLibrary调不到就说明这个库找不到,这时候你可以load输入完整路径调这个库,如果能调到,说明你在启动程序时没有将库所在路径配置到Java的读取路径中。
java jna 调用linux中so库
如何把库的路径配置到java的读取路径中啊  
java jna 调用linux中so库
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
java jna 调用linux中so库
参看你启动时所使用的命令参数帮助信息
java jna 调用linux中so库
嘻嘻  linux 不会是一会我让同事弄一下 谢谢啊 
java jna 调用linux中so库
有System.load(); 但是没有Native.load()啊 只有Native.loadlibrary();这可咱办啊
java jna 调用linux中so库
自己顶一下  再来个人啊 亲们
java jna 调用linux中so库
30分
在linux的启动脚本中 加上export LD_LIBRARY_PATH=/usr/local/sdk
后面路径是你存放so文件的路径
java jna 调用linux中so库
我现在遇到一个问题 我不想在启动脚本中配置
希望在程序中进行配置用了
NativeLibrary.addSearchPath(libName,searchpath);
但涉及依赖的so文件就有问题了
java jna 调用linux中so库
问题解决了么?我现在也有这个问题,不知道该把.so放在什么地方,总是提示文件不存在

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java jna 调用linux中so库
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!