如何在Eclipse中如何用cygwin把C文件编译成so文件 10

 我来答
育知同创教育
2016-03-07 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

用cygwin把C文件编译成so文件:

1:首先,要准备好一个jni文件夹,里面包含三个文件:

makefile文件:

LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=test-jni
LOCAL_SRC_FILES := test-jni.c
include $(BUILD_SHARED_LIBRARY)

如果有多个文件,可能有所不同吧,尚未尝试。


头文件:最好使用javah命令来生成,可见我的上一篇文章;

源文件:根据头文件,完善源码。


2:将jni文件夹拷贝到Android项目目录下

3:运行cygwin,使用CD命令,切换目录到Android项目目录

4:输入命令 $NDK/ndk-build,屏幕显示如下:

$ $NDK/ndk-build
Cygwin         : Generating dependency file converter script
Compile thumb  : test-jni <= test-jni.c
SharedLibrary  : libtest-jni.so
Install        : libtest-jni.so => libs/armeabi/libtest-jni.so

表示生成成功。

roserouge
2011-04-23 · TA获得超过462个赞
知道小有建树答主
回答量:1554
采纳率:0%
帮助的人:489万
展开全部
。。。你编译成.so有何用 拿到linux那里依然是不能用的 得重新编译
更多追问追答
追问
我现在需要在Android应用中用JNI调用C,需要.so文件的
追答
。。。你听说过 交叉编译 和 工具链 么,下载那一整套的工具用gcc加个把参数编译即可 eclipse装了CDT默认就有好多编译环境的支持,不过那些编译器你得自行安装编译环境 eclipse只是做适配

http://blog.sina.com.cn/s/blog_4a0a39c30100crhl.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式