有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java For Windows XP中加载dll

我正在尝试使用使用Makefile在linux机器上构建的System.loadLibrary("myDllFile")加载dll。我得到一份工作

java.lang.UnsatisfiedLinkError c:\test\myDllFile.dll: can't load this .dll (machine code=0x101) on a IA 32-bit platform

运行包含loadLibrary语句的主java类时发生异常。我正在尝试在Windows XP上运行java类。windows xp(32位)和windows 7(64位)是否需要单独的dll


共 (1) 个答案

  1. # 1 楼答案

    没错。您必须移植本机代码才能在每个操作系统上运行,并将其单独链接

    但是,如果您实际上有一个.dll,而不是一个.so,那么听起来您可能已经为Win32交叉编译了。(可能使用MinGW?)如果您有这样的交叉编译器设置,您应该能够为Win32和Win64指定构建。或者,如果您的Makefile碰巧出现问题,您可以告诉您的64位Linux系统使用setarch i686假装为32位

    如果您有一个Linux .so,那么将其移植到Windows将需要更多的工作