64位ie加载java失败_java-无法在AMD 64位平台上加载IA 32位.dll
java-無法在AMD 64位平臺(tái)上加載IA 32位.dll
我正在嘗試通過此頁面上的JNI包裝器使用Java中的SVMLight:
static {
System.loadLibrary("lib/JNI_SVM-light-6.01/lib/svmlight");
}
我收到以下錯(cuò)誤:
... lib \ JNI_SVM-light-6.01 \ lib \ svmlight.dll:無法加載IA 32位.dll?? 在AMD 64位平臺(tái)上
我可以通過重新編譯64位.dll來解決此問題嗎? 我將如何去做呢? 我可以使用其他解決方法嗎? SVMLight使C源代碼可用。
14個(gè)解決方案
70 votes
是的,您必須重新編譯64位DLL。 您唯一的其他選擇是切換到32位JVM,或者獲取一些32位進(jìn)程來代表您加載DLL并以某種方式與該進(jìn)程進(jìn)行通信。
Daniel Pryden answered 2020-01-28T03:44:44Z
4 votes
我使用最初打算在Win XP上運(yùn)行的使用tibco dll的Java應(yīng)用程序遇到了相同的問題。 為了使其能夠在Windows 7上運(yùn)行,我將該應(yīng)用程序指向了32位JRE。 等待查看是否還有其他解決方案。
aditya answered 2020-01-28T03:45:04Z
2 votes
對(duì)第一個(gè)問題的簡短回答:是的。
更長的答案:也許吧; 這取決于SVMLight的構(gòu)建過程是否在64位Windows上正常運(yùn)行。
最后說明:對(duì)System.loadLibrary的調(diào)用很愚蠢。 請(qǐng)使用完整路徑名調(diào)用System.load或讓它搜索java.library.path。
bmargulies answered 2020-01-28T03:45:33Z
1 votes
在win64bit和JVM 64bit中出現(xiàn)了相同的問題
通過將dll上傳到system32解決了
Yaro answered 2020-01-28T03:45:57Z
1 votes
確保將PATH設(shè)置為Program Files(x86),而不是Program Files。 那解決了我的問題。
Wojciechu answered 2020-01-28T03:46:17Z
1 votes
從-[http://blog.cedarsoft.com/2010/11/setting-java-library-path-programmatically/]獲得了
如果設(shè)置了java.library.path,則需要具有以下幾行才能起作用。
Field fieldSysPath;
fieldSysPath = ClassLoader.class.getDeclaredField( "sys_paths" );
fieldSysPath.setAccessible( true );
fieldSysPath.set( null, null );
Vincent Tan answered 2020-01-28T03:46:41Z
1 votes
去
項(xiàng)目屬性>>運(yùn)行>> VM選項(xiàng)
并把這個(gè)地址:
-Djava.library.path="C:\opencv\build\java\x64"
eng_hish answered 2020-01-28T03:47:10Z
1 votes
只需去安裝下載jdk_x86? 并將其安裝在Program Files(x86)中,并在項(xiàng)目中設(shè)置jre路徑。 而已。
JoboFive answered 2020-01-28T03:47:30Z
0 votes
我在以前在Windows x32下運(yùn)行的Windows x64上運(yùn)行red5(tomcat)時(shí)遇到問題,出現(xiàn)下一個(gè)錯(cuò)誤:
INFO pool-15-thread-1 com.home.launcher.CommandLauncher - Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\....\lib\Data Samolet.dll: Can't find dependent libraries
INFO pool-15-thread-1 com.home.launcher.CommandLauncher - at java.lang.ClassLoader$NativeLibrary.load(Native Method)
當(dāng)我安裝Java x32版本并設(shè)置下一個(gè)時(shí)解決了問題
“環(huán)境變量”
“家庭用戶變量”
JAVA_HOME => C:\ Program文件(x86)\ Java \ jdk.1.6.0_45
“系統(tǒng)變量”
路徑[開頭] => C:\ Program Files \ Java \ jdk.1.8.0_60;。
Denys Zotov answered 2020-01-28T03:48:16Z
0 votes
我有與此相關(guān)的問題,正在閱讀
"Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\opencv\build\java\x86\opencv_java2413.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform "and it took me an entire night to figure out.
我通過將C:\opencv\build\java\x64中的dll復(fù)制到system32文件夾中解決了我的問題。 我希望這會(huì)對(duì)某人有所幫助。
Oti answered 2020-01-28T03:48:40Z
0 votes
這是從命令行/命令提示符進(jìn)行編譯的人的答案。 不需要更改您的1.8.0_111環(huán)境變量; 它只是使您可以將32位JVM與32位DLL一起用于程序。
對(duì)于編譯,使用哪個(gè)1.8.0_111無關(guān)緊要-32位或64位。
>javac MyProgramWith32BitNativeLib.java
對(duì)于程序的實(shí)際執(zhí)行,重要的是指定1.8.0_111的32位版本的路徑
我將發(fā)布一個(gè)1.8.0_111的代碼示例,因?yàn)檫@似乎是OP使用的操作系統(tǒng)。
視窗
該代碼很可能是這樣的:
>"C:\Program Files (x86)\Java\jre#.#.#_###\bin\java.exe" MyProgramWith32BitNativeLib
區(qū)別在于1.8.0_111之后的數(shù)字。要查找應(yīng)使用的數(shù)字,請(qǐng)輸入:
>dir "C:\Program Files (x86)\Java\"
在我的機(jī)器上,過程如下
C:\Users\me\MyProject>dir "C:\Program Files (x86)\Java"
Volume in drive C is Windows
Volume Serial Number is 0000-9999
Directory of C:\Program Files (x86)\Java
11/03/2016 09:07 PM
11/03/2016 09:07 PM
11/03/2016 09:07 PM
0 File(s) 0 bytes
3 Dir(s) 107,641,901,056 bytes free
C:\Users\me\MyProject>
所以我知道我的電話號(hào)碼是1.8.0_111,我的命令是
C:\Users\me\MyProject>"C:\Program Files (x86)\Java\jre1.8.0_111\bin\java.exe" MyProgramWith32BitNativeLib
bballdave025 answered 2020-01-28T03:49:36Z
0 votes
不用擔(dān)心,您應(yīng)該將本機(jī)庫中的.dll從x64更改為x86。
例如:-您可能已經(jīng)選擇了此(C:\ opencv \ build \ java \ x64)。
而是為本機(jī)庫(C:\ opencv \ build \ java \ x86)選擇此選項(xiàng)。
Akash answered 2020-01-28T03:50:04Z
0 votes
對(duì)于本機(jī)庫位置,請(qǐng)?jiān)赬86上使用X64。 至少我有這個(gè)固定的問題。
??? answered 2020-01-28T03:50:24Z
0 votes
我的Windows筆記本電腦同時(shí)具有32位和64位客戶端,我突然遇到了所有問題,然后重新排列了路徑變量,如下所示
之前:
C:\app\oracle64\product\12.1.0\client_1\bin;
C:\app\oracle32\product\12.1.0\client_1\bin;
后:
C:\app\oracle32\product\12.1.0\client_1\bin;
C:\app\oracle64\product\12.1.0\client_1\bin;
開始工作...希望對(duì)大家有幫助。
Nagesh Kothakota answered 2020-01-28T03:50:57Z
總結(jié)
以上是生活随笔為你收集整理的64位ie加载java失败_java-无法在AMD 64位平台上加载IA 32位.dll的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有关字符的检验
- 下一篇: 程序如何区分该显示中文字符或英语字符?