如何在Eclipse中如何用cygwin把C文件编译成so文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Eclipse中如何用cygwin把C文件编译成so文件相关的知识,希望对你有一定的参考价值。
用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
表示生成成功。
参考技术A 。。。你编译成.so有何用 拿到linux那里依然是不能用的 得重新编译追问我现在需要在Android应用中用JNI调用C,需要.so文件的
追答。。。你听说过 交叉编译 和 工具链 么,下载那一整套的工具用gcc加个把参数编译即可 eclipse装了CDT默认就有好多编译环境的支持,不过那些编译器你得自行安装编译环境 eclipse只是做适配
http://blog.sina.com.cn/s/blog_4a0a39c30100crhl.html
我现在安装的有cygwin 和 CDT,但不知道怎么在Eclipse中编译C和C++文件
追答孩子 看下那个链接好么 人家说的挺详细的
项目的properties里面设置 自己试下 so easy
Keil中如何用Keil中如何用汇编调用C函数?
如图所示,我在汇编中用IMPORT声明,调用C函数,但是编译提示错误,请问是什么原因?
检查C文件是否加入项目。检查C文件中是否有这两个函数的原型声明。 参考技术A 关注这个问题
以上是关于如何在Eclipse中如何用cygwin把C文件编译成so文件的主要内容,如果未能解决你的问题,请参考以下文章