tianwenfenghaha 2015-05-19 03:33 采纳率: 100%
浏览 5949
已采纳

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)

![图片说明](https://img-ask.csdn.net/upload/201505/19/1432006216_326320.png)

这个项目用到了JFrame和一些jar,是这两者的问题吗?
  • 写回答

1条回答 默认 最新

  • tianwenfenghaha 2015-05-19 06:12
    关注

    好吧、机智的我灵机一闪自己给解决了~~~

    我刚才仔细看了下那个项目和测试项目,发现有个不同之处,项目刚建立时候刚下的myEclipse,里面的JDK是1.6的

    后期我用到了一些新的东西,自己下了个jdk1.7,然后刚才我把那个JavaSE1.6的引用试着删除了,

    再次输出位数信息发现成功变成了32位,项目也能正常使用了。

    莫非这是JDK1.7的某种特性?如果大家遇到这个问题的,借鉴下我的经验,能帮到谁的话我就很开心了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)