有没有一种简单的方法来构建64位JD2XX DLL?

时间:2010-10-15 16:10:07

标签: java 64-bit usb driver

要从Java应用程序访问FTDI USB板,我正在使用JD2XX driver wrapper(JD2XX.dll)。它在32位系统上工作得非常好,但是当它从64位JVM加载时,它表示64位JVM不可能加载32位DLL。很容易理解。为了解决这个小问题,我在64位系统上安装了一个32位JVM,运行正常。非常简单的解决方案,但对于向客户解释可能变得非常复杂!

出于这个原因,我想创建或以其他方式获取此JD2XX.dll文件的64位版本。我想知道是否有人成功地做过这件事,或者我是如何继续做的。我认为在ftdi-win32项目中应该有一个32位dll的引用我可以在重新编译64位系统上的所有内容之前更改为64位dll引用,但我没有找到。

我非常感谢任何有关此事的帮助。我不觉得我很快就能找到解决这个问题的方法。我描述的文件可以在最新的these packages中找到。

非常感谢,

MJ

2 个答案:

答案 0 :(得分:4)

我终于设法生成了64位DLL文件。 ...... :)

以下是我如何获得它:

  1. 下载JD2XX package(最新版本实际上是日期为20071214)。
  2. 下载mingw-w64(个人版本sezero)并在C:\中解压缩(给出C:\ mingw64)。
  3. 对JD2XX软件包进行了一些修改。
    • 调整后的Makefile.conf
      • 根据我的系统更正了MINGW和JDK路径。
      • 选择了ftdi-win32和amd64
    • 重命名已生成的32位JD2XX.dll文件,以便make停止告知无法执行任何操作。
    • 重命名为32位的ftdi-win32 / libftd2xx.a ...将其替换为ftdi-win32 / amd64 / ftd2xx64.lib的副本(当然,更名为libftd2xx.a)。
  4. 从JD2XX软件包的主目录中调用C:\ mingw64 \ bin \ mingw32-make.exe。这创建了一个新的JD2XX.DLL文件,它允许我在64位计算机上与FTDI设备进行通信,而无需使用32位JVM。
  5. generated file for download如果有人需要它。

答案 1 :(得分:1)

“生成的下载文件”对我不起作用,所以我按照说明自行制作,其工作原理如下: http://dev.geogebra.org/download/lib/ftdi/JD2XX_64_2.08.17.dll

看起来您应该能够通过下载正确版本的mingw-w64在32位系统(甚至是Linux)上构建64位dll: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/sezero_4.5_20111101/

此外,部分链接已过期。这些是最新的:
d2xx.svn.sourceforge.net/viewvc/d2xx/trunk/
www.ftdichip.com/Drivers/D2XX.htm

相关问题