Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java加载库_Java - Fatal编程技术网

Java加载库

Java加载库,java,Java,当我像这样加载库时: String strDllFileName = m_strUserPath + "\\res\\EQ2008_Dll.dll"; String strEQ2008_Dll_Set_Path = m_strUserPath + "\\res\\EQ2008_Dll_Set.ini"; m_DllLibrary = (DllLibrary) Native.loadLibrary(strDllFileName,DllLibrary.class);

当我像这样加载库时:

String strDllFileName = m_strUserPath + "\\res\\EQ2008_Dll.dll";
        String strEQ2008_Dll_Set_Path = m_strUserPath + "\\res\\EQ2008_Dll_Set.ini";
        m_DllLibrary = (DllLibrary) Native.loadLibrary(strDllFileName,DllLibrary.class);
        m_DllLibrary.User_ReloadIniFile(strEQ2008_Dll_Set_Path);
我的结果是:
线程“main”java.lang中出现异常。未满足链接错误:无法加载库

我怎样才能解决这个问题

结果:

Exception in thread "main" java.lang.UnsatisfiedLinkError: 
Unable to load library 'C:\Users\Krzysiek\Desktop\EQ2008_Dll_Java\res\EQ2008_Dll': 
    Nie mo?na odnale?? okre?lonego modu?
 at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:163)
 at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:236)
 at com.sun.jna.Library$Handler.<init>(Library.java:140)
 at com.sun.jna.Native.loadLibrary(Native.java:379)
 at com.sun.jna.Native.loadLibrary(Native.java:364)
 at com.eq2008.Fun.main(Fun.java:274)


String strDllFileName = m_strUserPath + "\\res\\EQ2008_Dll";
        String strEQ2008_Dll_Set_Path = m_strUserPath + "\\res\\EQ2008_Dll_Set.ini";
        m_DllLibrary = (DllLibrary) Native.loadLibrary(strDllFileName,DllLibrary.class);
    m_DllLibrary.User_ReloadIniFile(strEQ2008_Dll_Set_Path);
线程“main”java.lang.UnsatifiedLinkError中出现异常: 无法加载库“C:\Users\Krzysiek\Desktop\EQ2008\u Dll\u Java\res\EQ2008\u Dll”: 尼莫?那奥德纳勒??okre?lonego modu? 位于com.sun.jna.nativellibrary.loadLibrary(nativellibrary.java:163) 位于com.sun.jna.nativellibrary.getInstance(nativellibrary.java:236) 位于com.sun.jna.Library$Handler。(Library.java:140) 位于com.sun.jna.Native.loadLibrary(Native.java:379) 位于com.sun.jna.Native.loadLibrary(Native.java:364) 位于com.eq2008.Fun.main(Fun.java:274) 字符串strDllFileName=m_strUserPath+“\\res\\EQ2008_Dll”; 字符串strEQ2008\u Dll\u Set\u Path=m\u struerpath+“\\res\\EQ2008\u Dll\u Set.ini”; m_DllLibrary=(DllLibrary)Native.loadLibrary(strdlfilename,DllLibrary.class); m_DllLibrary.User_重载文件(strEQ2008_Dll_Set_路径);
m_strUserPath的值是多少?请在您的问题中包含错误的整个堆栈跟踪。@reporter我编辑了我的post@VGR我在系统的库路径(%Windows中的路径%、Linux中的${LD_library_path}等)中编辑我的后置库文件,然后将文件的基本名称传递给
loadLibrary
方法。如果文件为“EQ2008_Dll.Dll”,则基本名称为
“EQ2008_Dll”
。如果该文件仅驻留在.jar文件中,我敢肯定您根本无法将其传递给loadLibrary方法。
m_strUserPath
的值是多少?请在您的问题中包含错误的整个堆栈跟踪。@reporter我编辑了我的post@VGR我在系统的库路径中编辑我的后置库文件(%PATH%在Windows中,${LD_LIBRARY_PATH}在Linux中,等等),然后将文件的基本名称传递给
loadLibrary
方法。如果文件是“EQ2008_Dll.Dll”,则基本名称是
“EQ2008_Dll”
。如果文件只驻留在.jar文件中,我很确定您根本无法将其传递给loadLibrary方法。