最近因为一个项目需要在Android中用到OpenCv,搞了几天才编译成功,遇到了一些问题,先记下来以后可以查看。

1.无法解析#include <jni.h>

这个错误是因为NDK的include路径没有加入,project->properties->c/c++ General->path and symbols->include栏目下把E:\ndk\platforms\android-14\arch-arm\usr\include加入,我随便挑的一个platform。

2.无法找到core.hpp,这个都怪我,我学vc配置环境那样,把include,include/opencv,include/opencv2都加入进来了,死活找不到core/core.hpp。去掉include/opencv和include/opencv2后,用opencv2/core/core.hpp就找到了,我承认我很水。

3.NDK对于RTTI,标准库和exception的支持。

编译的时候提示找不到<algorithm.h>,-fno-rtti这些错误,这个的解决办法是在Application.mk中加入下面几句:

APP_STL := gnustl_static(标准库的支持),APP_GNUSTL_FORCE_CPP_FEATURES :=exceptions rtti(对exception和rtti的支持).关于Application的使用,可以参考这篇文章:http://blog.csdn.net/flydream0/article/details/7433786

4.编译没问题,程序启动就会挂掉,提示libopencv_java.so not found,在Android.mk的include $(CLEAR_VARS)后面加入OPENCV_LIB_TYPE:=STATIC,不过我对Linux的共享库不是太了解,我想动态的加载libopencv_java.so。

主要就是上面的一些问题,我没有用opencv官方给的那些调用方式,第一次写这种类型的博客,欢迎讨论。

更多相关文章

  1. android源码中makefile文件中各参数说明
  2. Linux下使用android ndk编译FFmpeg(最新版FFmpeg 4.4.1)
  3. android studio 查找替换
  4. Android(安卓)NDK 编译过程中遇到错误 exception handling disab
  5. Android(安卓)SQLite 支持嵌套事务吗?
  6. android 默认锁屏界面没有紧急呼救入口如何解决
  7. Android(安卓)WiFi ADB
  8. Android.mk for your own module
  9. Android支持Java8新特性

随机推荐

  1. Android(安卓)事件分发
  2. Android(安卓)HAL实现的三种方式(3) - 基
  3. 10个常见的 Android(安卓)新手误区
  4. 解读2015之Android篇:横向扩张、平稳发展
  5. 浅谈Android文件管理器的几种实现方式(原
  6. android 蓝牙开发
  7. Android(安卓)wifi驱动的移植 realtek 81
  8. Android(安卓)IO流使用详解-SDcard
  9. android(基于回调)的事件处理
  10. Android工程师成长路线全攻略