java jna 调用linux中so库有兴趣的进入瞅瞅

java jna 调用linux中so库有兴趣的进来瞅瞅

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库是调用不到 来个高手帮忙解决一下  
------解决方案--------------------
loadLibrary方法是不需要写后缀的,只需要库名,是跨平台的方法...
load方法可以输入完整路径。
------解决方案--------------------
loadLibrary调不到就说明这个库找不到,这时候你可以load输入完整路径调这个库,如果能调到,说明你在启动程序时没有将库所在路径配置到Java的读取路径中。
------解决方案--------------------
在linux的启动脚本中 加上export LD_LIBRARY_PATH=/usr/local/sdk
后面路径是你存放so文件的路径