Windows7でJava1.7.0を使用していて、にある64ビットdllを読み込もうとしていますC:/Program Files (x86)/Common Files/app_name/
。次のエラーが発生します
Exception in thread "main" java.lang.UnsatisfiedLinkError:
C:\Program Files (x86)\Common Files\app_name\app.dll: %1
is not a valid Win32 application
dllを別のディレクトリ(つまりC:\Temp
)にコピーし、dllを正常にロードできました。Program Files (x86)
このエラーは、dllがの下にあり、Javaが32ビットdllとしてロードしようとしていることが原因だと思います。JVMは、dllのアンダーProgram Files
とについて特定の仮定をしProgram Files (x86)
ますか?