多版本opencv編譯配置

2021-07-25 22:43:07 字數 1676 閱讀 4305

****

修改cmake_install_prefix,

opencv3.1 安裝目錄/usr/local/opencv3,

opencv2.4 安裝目錄/usr/local/opencv2,

在cmake-gui中可以搜尋cmake_install_prefix,修改。

注意如果準備切換opencv版本,一定不要選擇預設路徑,否則,鏈結opencv的時候會因為多版本的lib發生鏈結衝突。

跳過系統環境變數的設定,設定/etc/profile和~/.bashrc導致同時使用不同版本時發生錯誤,所以跳過;

配置終端的環境變數,不同的終端設定不同的opencv

步驟:

開啟終端,需要執行opencv3的,注意/usr/local/opencv3為opencv3.1的安裝目錄

export pkg_config_path=$pkg_config_path

:/usr/local/opencv3/lib/pkgconfig

export ld_library_path=$ld_library_path

:/usr/local/opencv3/lib

相應的,需要執行opencv2的,注意/usr/local/opencv2為opencv2.4*的安裝目錄

export pkg_config_path=$pkg_config_path

:/usr/local/opencv2/lib/pkgconfig

export ld_library_path=$ld_library_path

:/usr/local/opencv2/lib

pkgcongfig中的有opencv.pc儲存有對應opencv的include和lib路徑,但是sudo ldconfig後生效,

可以用下列三個命令驗證

pkg

-config--

modversion

opencv

pkg-

config--

cflags

opencv

pkg-

config--

libs

opencv

優點:

可以不同版本的opencv同時編譯;

缺點:

每個終端下執行opencv 都要設定對應的環境變數,新建終端預設沒有opencv的環境變數需要從重新設定。

第七步:cmakelists的一點點修改

因為usr/local/opencv3/share/opencv/opencvconfig.cmake中設定了opencv的配置,自定義路徑安裝opencv時,找不到這個檔案opencvconfig.cmake,opencv-config.cmake

需要在專案的cmakelist.txt中新增opencvconfig.cmake的路徑

set(cmake_prefix_path "/usr/local/opencv3/share/opencv")
gpu版本的opencv在cmake時有兩個選項

cuda_arch_bin

cuda_arch_ptx

編譯時用make 不要用make -j多執行緒編譯。不差這麼一些時間。多執行緒編譯出現過編譯失敗的情況。

ubuntu安裝多版本opencv

筆者原來系統已有opencv2.4.9 現在由於開發需要,重新安裝opencv3 2 進入opencv目錄執行如下命令 mkdir release cd release mkdir installed建立的installed資料夾就是我們安裝opencv2.4.13的路徑。3 使用cmake的時候指...

cmake之管理多版本opencv

我要使用orb slam2,依賴dbow2,dbow2依賴dlib,不就是裝軟體嘛,誰不會啊 git clone cd dbow mkdir build cd build cmake make報錯了,找不到標頭檔案。使用opencv的版本不對,這個庫使用了最新的版本,正好我最近編譯過最新的openc...

OpenCV多版本安裝及使用

由於程式的需要,經常需要同時安裝並使用兩個或多個版本的opencv,下面是opencv 3.1.0和opencv 2.4.13共存及使用方法。1.安裝 原始碼方式,把原始碼放到乙個固定的位置,例如 home zq,cd opencv 3.1.0 mkdir release cd release cm...