安装教程,参考
Ubuntu 18.04安装c++版OpenCV4
问题1:opencv无法下载IPPICV的问题 ippicv_2020_lnx_intel64_20191018_general.tgz
解决办法:解决编译opencv时,卡在IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz
- 需要将下载的文件的名称ippicv_2020_lnx_intel64_general_20191018_general.tgz改为ippicv_2020_lnx_intel64_20191018_general.tgz
- 需要将"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/“改"file:/<ippicv_2020_lnx_intel64_20191018_general.tgz存放路径>”
问题二 opencv编译对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
- 最重要的是要在.bashrc里面屏蔽anaconda,否则tiff会安装失败
解决方法:参考
问题三 各种未定义的引用
例如
[ 67%] Built target opencv_test_features2d
[ 67%] Building CXX object modules/core/CMakeFiles/opencv_test_core.dir/test/test_logtagconfigparser.cpp.o
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_spawn_async_with_fds’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_utf8_validate_len’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_source_set_dispose_function’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_ref_count_dec’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_unix_get_passwd_entry’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_uri_join’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_uri_split_with_user’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_canonicalize_filename’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_uri_split_network’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_uri_is_valid’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_file_set_contents_full’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_ptr_array_steal’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_atomic_ref_count_init’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_atomic_ref_count_dec’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_ref_count_init’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_atomic_ref_count_inc’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_memdup2’未定义的引用
/home/xxy/anaconda3/lib/libgio-2.0.so.0:对‘g_ref_count_inc’未定义的引用
collect2: error: ld returned 1 exit status
modules/videoio/CMakeFiles/opencv_test_videoio.dir/build.make:237: recipe for target 'bin/opencv_test_videoio' failed
make[2]: *** [bin/opencv_test_videoio] Error 1
CMakeFiles/Makefile2:2613: recipe for target 'modules/videoio/CMakeFiles/opencv_test_videoio.dir/all' failed
make[1]: *** [modules/videoio/CMakeFiles/opencv_test_videoio.dir/all] Error 2
[ 67%] Building CXX object modules/imgproc/CMakeFiles/opencv_test_imgproc.dir/test/test_connectedcomponents.cpp.o
大多数情况是因为Anaconda中的部分库冲突。
解决办法:
- 屏蔽anaconda文件夹。将anaconda重命名为其他,如anaconda.bak
- 同时保证.bashrc里面屏蔽anaconda