作者PTT007 (優質單身好男人)
看板java
標題[問題] JNA調用C++DLL
時間Tue Oct 7 22:34:53 2014
環境:
Eclipse 4.4
jdk 1.7
我目前需要使用JNA調用C++寫的DLL
在Eclipse裡是能成功調用
但是我匯出 Runnable JAR file後,就似乎不能調用了
一直都沒反應
我程式是這樣寫
TestClass INSTANCE = (TestClass) Native.loadLibrary("dllName",
TestClass.class);
然後dll跟匯出的jar檔都放在同一個資料夾底下。
但不知道為何無法調用
請問有人遇過這問題嗎
thx
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.225.106
※ 文章網址: http://webptt.com/m.aspx?n=bbs/java/M.1412692495.A.6C2.html
※ 編輯: PTT007 (114.35.225.106), 10/07/2014 22:38:24
1F:→ qrtt1: 弄點 error message 來欣賞一下 10/07 22:43
它沒有跑出error message,點下去毫無反應
※ 編輯: PTT007 (114.35.225.106), 10/07/2014 23:07:53
好像找到問題點了,應該是jre的關係
我的電腦裡有灌32位元和64位元的jre
我在命令提示字元裡打 java -version
顯示為64bit,如果我想改成32bit請問要怎麼改?
※ 編輯: PTT007 (114.35.225.106), 10/08/2014 00:51:05
2F:推 HuangJC: 找出 64 位元版本的位置,刪除整個子目錄 10/08 02:10
呃,我不想刪掉64位元的欸,我是想知道怎麼手動切換版本QQ
※ 編輯: PTT007 (114.35.225.106), 10/08/2014 09:28:23
3F:→ qrtt1: 寫個 bat 用 32bit 的 java -jar 跑你的.jar 10/08 09:44
4F:→ iFEELing: 用絕對路徑指向你的JRE環境 環境變數都要設對 10/09 00:28
5F:→ iFEELing: 只打 java 的話就看你的 OS 先找到哪個就會用哪個 10/09 00:29
6F:推 Killercat: 那個不是叫做JNI嗎..... 10/09 10:59
7F:→ Killercat: 另外用正規一點的static block試試看吧 10/09 10:59
8F:→ Killercat: 另外他應該路徑沒錯 有錯的話會有UnsatisifiedLinkErro 10/09 10:59
9F:→ Killercat: Java來講 會默認linux的lib path, windows就不知了 10/09 11:00
10F:→ Killercat: linux來講就是/usr/lib 10/09 11:00
12F:→ PTT007: 感謝各位~ 10/10 00:08