作者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/cn.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