G*****9 发帖数: 3225 | 1 在学习如何用JNI, 请教各位大神!!
在follow以下的link时遇到严重问题。
http://www.bogotobogo.com/cplusplus/eclipse_CDT_JNI_MinGW_64bit
问题出在生成HelloJNI.o这一步. 文件HelloJNI.c没问题。
使用的命令是gcc -m64 -I"C:Program FilesJavajdk1.8.0_45include" -c HelloJNI.c
-o HelloJNI.o
报错:sorry, unimplemented: 64-bit mode not compiled in |
h**********c 发帖数: 4120 | |
d****i 发帖数: 4809 | 3 你这个哪里是link,分明是compile,试试这样分两步
gcc -I$JAVA_HOME/include -c HelloJNI.c
gcc -o HelloJNI HelloJNI.o
或者一步
gcc -I$JAVA_HOME/include -o HelloJNI HelloJNI.c
-m64这个flag不用,GCC自动根据找到libc的版本来定。
.c
【在 G*****9 的大作中提到】 : 在学习如何用JNI, 请教各位大神!! : 在follow以下的link时遇到严重问题。 : http://www.bogotobogo.com/cplusplus/eclipse_CDT_JNI_MinGW_64bit : 问题出在生成HelloJNI.o这一步. 文件HelloJNI.c没问题。 : 使用的命令是gcc -m64 -I"C:Program FilesJavajdk1.8.0_45include" -c HelloJNI.c : -o HelloJNI.o : 报错:sorry, unimplemented: 64-bit mode not compiled in
|
G*****9 发帖数: 3225 | 4 谢谢各位,已经搞定了。主要还是MinGW装的不是64位的。换过来就搞定了。 |
G*****9 发帖数: 3225 | 5 又出现新问题了:在Java(Eclipse)中调用一个很简单的dll.
如果新建项目然后用"convert to a C++ project",则成功搞定。
如果不这么做,直接用System.loadLibrary()方法,则调用不成功。我已经对Java
Build Path\Native Library Location进行了设置。但就是不成功。
究竟是什么原因呢? |