java - 生成 32 位 dll JNI

标签 java visual-studio-2012 dll java-native-interface

您好,我正在尝试在项目中使用 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/

相关文章:

java - 将 ArrayList<String> 数据转换/传输到 String[] 时出现不兼容类型错误

Java多线程解析器

java - 使用 getter 时值返回 null

c++ - #include<iostream> 存在,但我收到错误 : identifier "cout" is undefined. 为什么?

javascript - 如何使用 javascript 从 Sharepoint 列表中获取值

powershell - 为什么没有预构建的 PInvoke DLL?

c++ - 在 notepad.exe 中 Hook CreateFile 不会捕获 API 调用

java - Htmlunit:在 Facebook 上发布链接

c# - 如何使用动态创建的控件进行自动化测试?

c++ - 如何使用宏动态加载 dll