Android OpenCV NDK 配置問題
最近因公司項目原因,需要使用android ndk進行開發,由於之前只是簡單的使用相關的so庫,所以沒什麼經驗,下載了用到的OpenCV相關的庫,但是這個demo,導入確爆了一大堆錯誤,經過研究,都已解決,現總結如下:
旁邊的狀態欄出現一堆蟲子,看着真噁心,而且文件報錯
- 1.點擊蟲子,出現以下提示:
Multiple markers at this line
- Symbol 'ANDROID_LOG_DEBUG' could not be
resolved
- Function '__android_log_print' could not be
resolved
意思就是在這一行與多個標記,標籤 'ANDROID_LOG_DEBUG'
不能解決,函數 __android_log_print
也不能解決,反正就是不行,然後問度娘股溝,
度娘股溝還是比較靠譜的,發現以下解決方案:
意思就是不進行語法語義的相關選項的代碼分析,然後這個東東就解決了
- 上述問題解決後,並沒有編譯通過,會出現以下錯誤
Error: Cannot run program "\ndk-build.cmd": Launching failed
NDK路徑指定錯誤
解決如下:
本人的NDK路徑環境變量是NDK_HOME
配置好之後,點擊OK,eclipse重新編譯,出現新的問題
- 新問題如下
**** Build of configuration Default for project OpenCV Sample - face-detection ****
D:\android-ndk-r11b-windows-x86_64\android-ndk-r11b\ndk-build.cmd
jni/Android.mk:8: ../../sdk/native/jni/OpenCV.mk: No such file or directory
make: *** No rule to make target `../../sdk/native/jni/OpenCV.mk'. Stop.
**** Build Finished ****
意思是在android.mk文件中,第八行,這個路徑沒有找到文件,打開之後,果真如此
發現該工程目錄下果真沒有該文件,解決辦法兩個:
1. 將sdk目錄下的相關目錄copy到工程中,並配置相關的路徑
2. 如下圖所示
我的是:
然後複製當前路徑到android.mk文件中
重新編譯,ctrl+shift+s全部保存,發現編譯通過,
運行程序就行了
- 但是如果打開文件,你回發現還是報黃,強迫症受不了
這是因爲相關的C++庫導入出現問題,需要配置編譯庫位置,原先的項目編譯庫位置如下,要換成自己的:
我的路徑是:
點擊OK,重新編譯,完美