在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 楼答案
没错。您必须移植本机代码才能在每个操作系统上运行,并将其单独链接
但是,如果您实际上有一个
.dll
,而不是一个.so
,那么听起来您可能已经为Win32交叉编译了。(可能使用MinGW?)如果您有这样的交叉编译器设置,您应该能够为Win32和Win64指定构建。或者,如果您的Makefile碰巧出现问题,您可以告诉您的64位Linux系统使用setarch i686
假装为32位如果您有一个Linux
.so
,那么将其移植到Windows将需要更多的工作