Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种简单的方法来构建64位JD2XX DLL?_Java_64 Bit_Usb_Driver - Fatal编程技术网

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

Java 有没有一种简单的方法来构建64位JD2XX DLL?,java,64-bit,usb,driver,Java,64 Bit,Usb,Driver,为了从Java应用程序访问USB板,我使用了(JD2XX.dll)。它在32位系统上工作得非常好,但是当它从64位JVM加载时,它表示64位JVM不可能加载32位DLL。很容易理解。为了克服这个小问题,我在64位系统上安装了一个32位JVM,它运行良好。非常简单的解决方案,但向客户解释可能会变得非常复杂 因此,我希望创建或以其他方式获取此JD2XX.dll文件的64位版本。我想知道是否有人成功地做到了这一点,或者我可以如何继续。我认为在ftdi-win32项目中应该有一个对32位dll的引用,在

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

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

我将非常感谢任何有关这方面的帮助。我不觉得我能很快找到解决这个问题的方法。我所描述的文件可以在最新版本中找到

多谢各位


MJ

我终于成功地生成了那个64位DLL文件……)

以下是我如何获得它的:

  • 下载(最近一次实际日期为20071214)
  • 下载(personal build sezero)并在C:\(给出C:\mingw64)中解压缩
  • 对JD2XX包进行了一些修改。
    • 调整Makefile.conf
      • 根据我的系统更正了MINGW和JDK路径
      • 选定的ftdi-win32和amd64
    • 重命名已生成的32位JD2XX.dll文件,以便make停止告诉用户无需执行任何操作
    • 重命名为ftdi-win32/libftd2x.a,它是32位的。。。替换为ftdi-win32/amd64/ftd2x64.lib的副本(当然重命名为libftd2x.a)
  • 从JD2XX包的主目录中调用C:\mingw64\bin\mingw32-make.exe。这创建了一个新的JD2XX.DLL文件,该文件允许我与64位计算机上的FTDI设备通信,而无需使用32位JVM

  • 如果有人需要它,它就会自动运行。

    我终于成功地生成了64位DLL文件……)

    以下是我如何获得它的:

  • 下载(最近一次实际日期为20071214)
  • 下载(personal build sezero)并在C:\(给出C:\mingw64)中解压缩
  • 对JD2XX包进行了一些修改。
    • 调整Makefile.conf
      • 根据我的系统更正了MINGW和JDK路径
      • 选定的ftdi-win32和amd64
    • 重命名已生成的32位JD2XX.dll文件,以便make停止告诉用户无需执行任何操作
    • 重命名为ftdi-win32/libftd2x.a,它是32位的。。。替换为ftdi-win32/amd64/ftd2x64.lib的副本(当然重命名为libftd2x.a)
  • 从JD2XX包的主目录中调用C:\mingw64\bin\mingw32-make.exe。这创建了一个新的JD2XX.DLL文件,该文件允许我与64位计算机上的FTDI设备通信,而无需使用32位JVM
  • 如果有人需要的话,请点击“下载生成的文件”按钮。

    “下载生成的文件”对我不起作用,所以我按照说明自己制作了它,效果很好:

    通过下载正确版本的mingw-w64,您还可以在32位系统(甚至在linux上)上构建64位dll:

    此外,一些链接已经过时。这些是最新的:
    d2x.svn.sourceforge.net/viewvc/d2x/trunk/
    www.ftdichip.com/Drivers/d2x.htm

    下载生成的文件对我不起作用,所以我按照说明自己制作了它,它可以工作:

    通过下载正确版本的mingw-w64,您还可以在32位系统(甚至在linux上)上构建64位dll:

    此外,一些链接已经过时。这些是最新的:
    d2x.svn.sourceforge.net/viewvc/d2x/trunk/

    www.ftdichip.com/Drivers/d2x.htm

    在JD2XX驱动程序包装器的网站上,有一个链接,其中包含软件作者(pbleyer)的电子邮件地址。你有没有试着发电子邮件问他?哦,让我们这么做吧!考虑到最新软件包的时代,我甚至没有考虑过它。我问我如何获得64位版本,他回答说他目前没有64位环境。我认为这比在某个地方更改引用并重新编译要复杂……在JD2XX驱动程序包装器的网站上,有一个与软件作者(pbleyer)的电子邮件地址的链接。你有没有试着发电子邮件问他?哦,让我们这么做吧!考虑到最新软件包的时代,我甚至没有考虑过它。我问我如何获得64位版本,他回答说他目前没有64位环境。我认为这比在某个地方更改引用并重新编译要复杂得多……在JD2XX类中添加一个开关(在os.arch属性上)来加载32位或64位DLL很容易,具体取决于运行的JVM的位数(静态块中的loadLibrary()调用…)。在JD2XX类中添加开关很容易(在os.arch属性上)加载32位或64位DLL,具体取决于正在运行的JVM的位数(静态块中的loadLibrary()调用…)。