ubuntu編譯OpenCV錯誤

2021-09-29 19:51:19 字數 3296 閱讀 5035

背景:大概在10%的時候有報錯

[...cuda_compile_generated_gpu_mat.cu.o] error 1

make2: *

[modules/core/cmakefiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_gpu_mat.cu.o]

error 1 make1: [modules/core/cmakefiles/opencv_core.dir/all] error 2

類似情況網上比較多,例如這裡

該情況應該是由於nvcc版本比較新引起的

解決辦法:

是將下面這段語句加到opencv根目錄下的cmakelist檔案的開頭:

cmakefiles/opencv_core.dir/src/cuda_info.cpp.o: 無法新增符號: 錯誤的值

collect2: error: ld returned 1 exit status

modules/core/cmakefiles/opencv_core.dir/build.make:1254: recipe for target 'lib/libopencv_core.so.3.0.0' failed

make[2]: *** [lib/libopencv_core.so.3.0.0] error 1

cmakefiles/makefile2:1535: recipe for target 'modules/core/cmakefiles/opencv_core.dir/all' failed

make[1]: *** [modules/core/cmakefiles/opencv_core.dir/all] error 2

makefile:149: recipe for target 'all' failed

make: *** [all] error 2

出現問題的原因:

解決辦法:

在cmakelists.txt中新增如下一行:

add_definitions(-fpic)

加上上文的set(...)也就是如下:

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_initcstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_freecstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_maxclevel』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_createcstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_iserror』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_geterrorname』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_endstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_createdstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_initdstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_freedstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_compressstream』未定義的引用

//home/nk/anaconda3/lib/libtiff.so.5:對『zstd_decompressstream』未定義的引用

collect2: error: ld returned 1 exit status

modules/cudev/test/cmakefiles/opencv_test_cudev.dir/build.make:231: recipe for target 'bin/opencv_test_cudev' failed

make[2]: *** [bin/opencv_test_cudev] error 1

cmakefiles/makefile2:1474: recipe for target 'modules/cudev/test/cmakefiles/opencv_test_cudev.dir/all' failed

make[1]: *** [modules/cudev/test/cmakefiles/opencv_test_cudev.dir/all] error 2

makefile:149: recipe for target 'all' failed

make: *** [all] error 2

Ubuntu下編譯安裝OpenCV

國外乙個部落格是在ubuntu 11.04下安裝opencv2.2 由於我的系統是11.10的,在opencv2.2下make時,總是出錯。如果系統是ubuntu 11.04的建議採用這篇英文部落格的方法,應該沒有問題。後面看到另乙個部落格,可以安裝opencv2.3 對於測試,可以參考上面提到的一...

ubuntu下編譯安裝c 的opencv

ubuntu下編譯安裝c 的opencv toc 6 建立build資料夾 在opencv源 目錄建立build資料夾,並進入該資料夾,執行 cmake d cmake build type release d cmake install prefix usr local 7 make 等待步驟6 ...

opencv在ubuntu中的安裝與編譯

程式編譯參考 opencv安裝參考 1.安裝庫 sudo apt get install cmake build essential libgtk2.0 dev sudo apt get install cmake curses gui ccmake編輯 cmake與ccmake的區別,參考 sud...