程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 32bit-JNative的問題,提示32位DLL不能再64位平台上運行

32bit-JNative的問題,提示32位DLL不能再64位平台上運行

編輯:編程綜合問答
JNative的問題,提示32位DLL不能再64位平台上運行

我使用JNative調用的C++自己寫的DLL動態庫文件,我在測試項目中運行的毫無問題
,使用語句輸出位數信息是32位
Properties props = System.getProperties();
String bits=String.valueOf(props.get("sun.arch.data.model"));

但放到我的項目中報32位DLL不能在64位平台下運行 輸出位數信息卻變成了64
以下是錯誤代碼:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Windows\System32\ACRSupport.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at com.enss.chk.util.JNativeUtil.(JNativeUtil.java:11)
at com.enss.chk.form.Tray.load(Tray.java:153)
at com.enss.chk.form.Tray.(Tray.java:95)
at com.enss.chk.entity.Test.main(Test.java:43)

![圖片說明](http://img.ask.csdn.net/upload/201505/19/1432006216_326320.png)

這個項目用到了JFrame和一些jar,是這兩者的問題嗎?

最佳回答:


好吧、機智的我靈機一閃自己給解決了~~~

我剛才仔細看了下那個項目和測試項目,發現有個不同之處,項目剛建立時候剛下的myEclipse,裡面的JDK是1.6的

後期我用到了一些新的東西,自己下了個jdk1.7,然後剛才我把那個JavaSE1.6的引用試著刪除了,

再次輸出位數信息發現成功變成了32位,項目也能正常使用了。

莫非這是JDK1.7的某種特性?如果大家遇到這個問題的,借鑒下我的經驗,能幫到誰的話我就很開心了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved