gcc 编译64位jni

https://github.com/jatovm/classpath/blob/master/include/jni_md-x86-linux-gnu.h

报错如下:

替换jni_md.h的内容

gcc compiler c ok

gcc 编译64位jni

编译成功

g++ compiler c++ ok


gcc 编译64位jni

将jdk附带的include ,拷贝出来,放置到当前路径下

gcc -m64 -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at -I/java/include -I/java/include/win32 -shared -o libmail.dll main.cpp

将cygwin的依赖的dll,设置到path内。注意要重启eclipse

调用成功

去除cygwin1.dll依赖

http://blog.csdn.net/simeone18/article/details/6591240

-mno-cygwin 不支持

http://blog.csdn.net/simeone18/article/details/7017276


mingw x64

http://www.drangon.org/mingw/


最好用mingw 编译,这样可以避免对dll的依赖


1.设置dllpath

   将依赖放置到dllpath内,先验证javaproject,调用native方法,是否成功

2.注意重启服务器,设置环境后,服务器一定要重启。

3.动态添加java.library.path

http://beyond-gzz.blog.163.com/blog/static/74473562011118349055/

参考文档:http://lists.gnu.org/archive/html/classpath-patches/2006-01/msg00060.html

你可能感兴趣的:(gcc 编译64位jni)