[英]Can't load IA 32-bit .dll on a AMD 64-bit platform JNI
我有一個問題:我正在使用JNI處理自生成的DLL。 我已經使用Visual Studio 2013為64Bit計算機生成了DLL。 我已經檢查過Dependency Walker,如果我的DLL真的是64位,那就是。 然后我嘗試在我的Java源代碼中使用DLL(Eclipse版本:Luna Service Release 1(4.4.1)Java版本1.7.0_71-b14 64位版本)。
當我運行我的Java程序時,我得到錯誤消息無法在此行中的AMD 64位平台上加載IA 32位.dll。
static
{
System.loadLibrary("iomemjava");
}
我已經花了2天時間解決這個問題並搜索了stackoverflow和其他一些論壇。 我真的沒有想法可能是錯的。
到目前為止,希望你們和男孩們可以幫助馬丁
Java使用系統屬性java.library.path
作為查找本機庫的路徑。 啟動應用程序時,在命令行上使用-D
選項定義此屬性,並使其指向包含DLL的目錄。 例如:
C:\MyProject> java -Djava.library.path=C:\MyProject\nativelib com.mypackage.MyProgram
其中C:\\MyProject\\nativelib
是包含要使用的DLL的目錄。
轉到鏈接http://www.apache.org/dist/tomcat/tomcat-connectors/native/找到最新的一個
下載tomcat-native-XXX-win32-bin.zip打開zip文件。 在X64文件夾下找到tcnative-1.dll
最后,用zip文件中的.dll替換tomcat bin中的.dll
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.