Eclipse + CDT 实现JNI 的方法
来源:互联网 发布:网络赚钱项目有哪些 编辑:程序博客网 时间:2024/04/27 10:51
JNI 的介绍就略过了,大家都是清楚的,不清楚的可以自己百度之。
OS:ubuntu kylin
eclipse: kepler-jee 4.3.2
eclipse 下下来后,发现打开木有菜单项= =查了一下才知道,据说是ubuntu的gnome功能和它冲突了,去论坛上搜了下,在桌面上建立个eclipse.desktop的文件,
输入
[Desktop Entry]Type=ApplicationName=EclipseComment=Eclipse Integrated Development EnvironmentIcon=${eclipse_home}/icon.xpmExec=env UBUNTU_MENUPROXY= ${eclipse_home}/eclipse其中${eclipse_home}是你自己下载的eclipse的安装路径
这样从这个快捷键打开eclipse,就木有问题了,可以看到菜单了,哈哈~~
要用eclipse实现c++编程,必须下载CDT插件,在help->install new softwares中输入CDT,下载,一路next就好。
好,安装好CDT后,就要开始JNI编程了
首先,建立一个java project,在其中输入
package test;public class testjni{//声明自定义本地库方法接口public native void displayTest() ;//自定义加载本地库文件static{System.loadLibrary("testjni");} public static void main(String [] args) { new testjni().displayTest(); }}
然后就是要生成.h头文件了,这个jni的.h头文件,可以进入你定义的包的上一层目录下,用javah编辑,也可以用eclipse自己来实现
再external configuration tools中的program选项下新建一个 可以命名为javah
然后选中要编辑的java文件,点击
然后再project 里refresh一下,就可以发现出现一个jni的文件夹,下面就是你要用的.h文件了
再新建一个C++ project,注意:项目类型要选择“shared library”,
将刚才生生成的test_testjni.h文件复制到下面,并新建一个cpp文件,
注意:将test_testjni.h文件移到新建的项目下 :
在输入# include <jni.h>时,会提示你头文件找不到,这时候在include下添加上jdk下javah的路径就可以了:
cpp的文件内容如下:
#include <jni.h>#include "test_testjni.h"#include <stdio.h>#include <iostream>using namespace std;JNIEXPORT void JNICALL Java_test_testjni_displayTest (JNIEnv *env, jobject obj){ printf("hello java,i am c!!!!"); return;}此时,点击build project会报错“relocation R_X86_64_32against `a local symbol' can not be used when making a sharedobject; recompile with........”,查了下,
在编译的时候必须加上-fPIC,对于使用makefile的朋友来说完全不是问题,只需在每个编译选项上加上-fPIC即可,像我这种比较懒得人来说,不知道在eclipse什
么地方加这一选择,查了半天资料,终于找到了,右键->properties->c/c++Build->Setting->Toolsetting->gcc c++compiler->optimization->otheroptimization
flags,加上-fPIC即可。
最后,得到生成的.so文件
将生成的库文件放在原来的java项目下,新建一个文件夹lib,将.so文件放在下面,然后点击项目的properties,如图点选:
- Eclipse + CDT 实现JNI 的方法
- Eclipse Cdt 的安装方法
- eclipse android NDK jni CDT
- android JNI实现方法(一)——CDT
- 使用Eclipse CDT进行Java JNI编程
- 配置eclipse CDT 开发 android JNI
- Eclipse CDT的开发
- eclipse CDT的安装
- MinGW + Eclipse CDT进行C++开发的配置方法
- 使用MinGW + Eclipse CDT进行C++开发的配置方法
- 用Eclipse+Cygwin+CDT+NDK来创建一个简单的Android JNI 项目
- Eclipse CDT MinGW生成C++动态链接库及Java JNI的调用例子
- Eclipse CDT 难以忍受的慢
- eclipse下cdt的安装
- NDK导入Eclipse CDT出现jni.h找不到解决方法
- 轻松使用Eclipse CDT进行Java JNI编程
- NDK导入Eclipse CDT出现jni.h找不到解决方法
- android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
- 怎么利用wireshark人为制造丢包情况
- 如何使用google的日志库(glog)
- 如何恢复工作中清除的照片
- Java 学习笔记之 ByteBuffer
- 浅析JAVA设计模式之代理模式(四)
- Eclipse + CDT 实现JNI 的方法
- 【OpenCV】CvCreateImage函数说明以及颜色空间量化之间转换
- c# 读取多个路径文件到一个文件
- Siebel config
- Bitmap
- catalina 是什么??
- NYOJ 642 牛奶
- 利用CSS产生圆角
- NGUI播放视频、全屏等