最近学习了jni的调用,对于每次修改.c或者.cpp之后,就要更新一下相应的.so是件很麻烦的事情阿,于是便写了个makefile文件,一下就很方便。对此,分享给初学者,希望能用上。
makefile文件格式是:
target ... : prerequisites ...
command
值得注意的是command前面一定要有一个Tab键,target前面是顶格的。
下面是我的一个例子,其过程是:编写了一个Femb.java的文件,其中有个native方法,要求连接的是liblinkjni.so动态库文件,然后编译javac Femb.java,javah Femb。接着就编写了Femb.cpp文件,其引入了Femb.h,运行相应指令生成了Femb.o文件,再运行g++ -rdynamic -shared -o liblinkjni.so Femb.o libfemb.a就生成了.so文件。以后每次修改都要把这些指令重新运行一边是很烦人的,就写个makefile文件是很方便了。相应的makefile文件如下:
edit:Femb.o libfemb.a makefile
g++ -rdynamic -shared -o liblinkjni.so Femb.o libfemb.a
Femb.o:Femb.cpp Femb.h
g++ -c Femb.cpp -I/usr/lib/jvm/java-6-sun/include/linux/ -I/usr/lib/jvm/java-6-sun/include/
Femb.h:Femb.java
javac Femb.java
javah Femb
clear:
rm -rf *.log Femb.o liblinkjni.so
这里需要注意的是:一定要在第一行末端写上你的makefile文件的名称,这样你就可以试着写些你自己的makefile文件了。makefile文件对于windons系统也适用的。想更详细的学习makefile文件的制作就下载下面的附件吧。
angel318393 于 2012-08-25 09:03:47发表:
这个帖子不错,大家快来顶起来!
tanchengming 于 2012-08-24 20:36:37发表:
????~~0:w(5(
cafilin 于 2012-08-11 22:17:36发表:
没看明白。。。
wfc1102 于 2012-08-11 17:43:27发表:
谢谢楼主,学习ing
pc_Samba 于 2012-08-08 17:02:47发表:
感谢分享。
cfl2011 于 2012-08-08 16:21:46发表:
向楼主学习
houdezaiwu1991 于 2012-08-01 11:22:48发表:
正要学makefile
Hbhmycg 于 2011-12-12 21:28:37发表:
向楼主学习
123456queyi 于 2011-12-12 19:57:29发表:
谢谢分享