天天看點

opencv源代碼編譯時遇到的問題(子產品計算機類型“x64“與目标計算機類型“x86”沖突)的解決

前言

opencv4.5.1于2020年12月份推出,是目前為止最新的一個正式版本,在DNN支援方面又有了較多的更新,值得研究和關注。

不過很久沒有在windows(win10, x64)上編譯opencv源代碼了,感覺有些手生,這裡把遇到的三個問題羅列出來。 

opencv和對應版本的contribute代碼擷取

我們都知道 ,對于某個版本的opencv代碼而言,如果想把其對應的contrib代碼編譯進來,其版本必須對應。 那麼這裡面的第一個問題就是,如何下載下傳到對應代碼?

答案是到GitHub上,先進入下面這個頁面

opencv源代碼編譯時遇到的問題(子產品計算機類型“x64“與目标計算機類型“x86”沖突)的解決

分别點選opencv和opencv_contrib,進去再點選tags, 如下圖紅框所示

opencv源代碼編譯時遇到的問題(子產品計算機類型“x64“與目标計算機類型“x86”沖突)的解決

 點選tags就能看到如下各個版本所對應的軟體包,如紅框所示。可以根據自己喜好來下載下傳zip或tar.gz壓縮格式。

opencv源代碼編譯時遇到的問題(子產品計算機類型“x64“與目标計算機類型“x86”沖突)的解決

 子產品計算機類型"x64"與目标計算機類型“x86”沖突

這個是由于visual studio的編譯類型設定的是x64,但在用cmake配置opencv源代碼項目時用的是預設win32類型。是以,其解決辦法也很簡單,就是在configure時設定平台類型為x64,如下圖紅框所示。

opencv源代碼編譯時遇到的問題(子產品計算機類型“x64“與目标計算機類型“x86”沖突)的解決

找不到 vgg_generated_120.i

編譯時可能會遇到找不到vgg_generated_120.i, boostdesc_lbgm.i 等檔案,這個時候需要先單獨下載下傳這些模型檔案,并置于下圖所示位置。可以從網上找。

opencv源代碼編譯時遇到的問題(子產品計算機類型“x64“與目标計算機類型“x86”沖突)的解決

值得注意的是,光有這些還不行,還需要去cmake-gui裡面再一次點選configure和generate。之後再去編譯才能通過。

繼續閱讀