Opencv在安卓平台上编译----调用C++库

Opencv在安卓平台上编译----调用C++库
因项目需要在安卓平台上面进行人脸检测,而且为了提高效率需要调用C++的库函数。其中的大部分的步骤是
参考下面博客完成的。然而在这儿总结一下自己在整个编译安装过程中遇到的问题。
http://blog.csdn.net/pwh0996/article/details/8957764/
1.jni项目的建立。开始参考博客结果建立项目失败。然后按照以下步骤进行。

使用javah自动生成头文件

进入工程的src目录,敲入

javah com.example.test.MainActivity

参数为包含JNI函数的所在文件的全路径

让eclipse自动编译运行JNI,并进行代码提示

1、添加NDK路径:window->preferance->Android->NDK(如果没有NDK选项,需要下载NDK的ECLIPSE插件,可在网上搜索com.android.ide.eclipse.ndk_23.0.2.1259578.jar下载后直接放入eclipse/plugin目录)

2、新建工程, 右键工程 -> Android tools -> Add Native Support...,输入库的名字,则会自动生成CPP文件与makefile文件,其他参考前面的步骤,不变,

3、工程属性会出现C++选项, 在C/C++ general的Paths and Symbols中include增加NDK的include文件夹,可实现C++在自动编码提示

3、运行时,点多出来的锤子图标

将自己函数实现的。cpp文件和自动生成的头文件放到JNI目录下面。
2.修改.mk文件。
如下所示:
Android.mk文件修改为:
LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)
include D:\softer\opencvSDK\sdk\native\jni\OpenCV.mk  


LOCAL_MODULE    := FaceDetect
LOCAL_SRC_FILES := FaceDetect.cpp


include $(BUILD_SHARED_LIBRARY)
Application.mk文件
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a

3.修改.h头文件和.cpp文件。将java格式的函数修改为C,C++格式的。
最后结果如下图所示:

4.在Cygdrive交叉编译平台上面进入当前工程目录进行编译:如下图所示:

看到心动的.so文件了吧说明编译成功啦!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值