1. 程式人生 > >Android中OpenCv編譯的時候一些錯誤的總結

Android中OpenCv編譯的時候一些錯誤的總結

  最近因為一個專案需要在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官方給的那些呼叫方式,第一次寫這種型別的部落格,歡迎討論。