您好,我正在尝试在项目中使用 JNI 生成的 dll。
我生成了一个 64 位 dll,但我的项目显示 %1 不是有效的 win32 应用程序
所以我决定生成一个新的 DLL,但这次是 32 位。我在 Visual Studio 中更改了设置,就像我在其他帖子中发现的那样,配置为 Win32,目标计算机为 MachineX86。
这一切都工作正常,但是当我尝试使用这个 DLL 启动项目时,我得到了同样的错误。我使用 Dependency Walker 检查了 DLL,发现该 DLL 是 32 位,但包含的 DLL 是 64 位。
所以你们是我最后的希望。你有什么想法 ?
注意:我无法更改为 Linux atm。
Visual Studio 2012 java版本“1.7.0_71” Java(TM) SE 运行时环境(版本 1.7.0_71-b14)
最佳答案
刚刚阅读它,但我已经发现了我的错误,问题是当您切换工作空间时,Eclipse 会更改它已安装的 JRE。
所以在我开发 64 位库的测试程序中,它工作了。但在实际项目中却并非如此,其中安装的 JRE 是不同的。
所以如果有人遇到同样的问题,请不要忘记检查一下
关于java - 生成 32 位 dll JNI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27704927/