opencv example 編譯問題及解決

2022-10-10 09:54:10 字數 1247 閱讀 3766

最近學習android camera ,用到opencv,通過opencv sdk 中給的example 來學習。下面是example編譯遇到的問題及解決辦法。

1. 匯入專案並編譯,會出現如下錯誤:

專案找不到ndk-build.cmd。即使在系統路徑path 中設定了ndk的路徑,此問題依舊無法解決。其實專案中有自己預設的ndk路徑,但這個路徑並未設定。

右擊匯入的專案,選擇properties,點選c/c++build得到下圖:

在c/c++build 下找到environment,發現

並沒有ndkroot。點選add ,

name: ndkroot

value: ndk-build.cmd 的路徑

點選ok,專案自動編譯。console 顯示如下:

android.mk 下opencv.mk 沒找到,把include 後的路徑改為opencv.mk的絕對路徑。

如果編譯錯誤還是同上,重啟eclipse,然後編譯。一切正常則得到如下結果,正確編譯。

在專案中開啟jni下的jni_part.cpp會發現opencv的庫函式不能用。這是因為之前修改了android.mk 中的路徑所致。

給專案新增opencv的庫函式:右擊匯入的專案,選擇properties,點選c/c++general得到下圖:

新增opencv sdk 下include 資料夾的絕對路徑

編譯 交叉編譯

交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...

核心編譯 模組編譯

目前是嵌入式 linux 的初學者感覺有所體會 1.從demo 學起 tiny 6410 上的開發,我的任務不斷是新增小模組。交叉編譯器,以及其它一系列 tool chains 可直使用產商提供的工具。避免過多細節的好處在於,你可以從整體處著手你從書本學到的理論知識。2.kernel 編譯其它很簡單...

Golang 編譯 條件編譯

條件編譯 標籤編譯 build tag build build linux and 386 or darwin and not cgo 以 開始,例如 build 支援 goos 與 goarch 並可以具有多個值,用 分割,例如 build linux,darwin,freebsd 支援 不等條件...