在装有anaconda的Ubuntu20.04环境中安装多版本的OpenCV(OpenCV4.5.1),make时报错:
/usr/bin/ld: ../../lib/libopencv_imgcodecs.so.4.5.1: undefined reference to `TIFFSetWarningHandler@LIBTIFF_4.0'
/usr/bin/ld: ../../lib/libopencv_imgcodecs.so.4.5.1: undefined reference to `TIFFSetErrorHandler@LIBTIFF_4.0'
这个问题是由于anaconda环境冲突导致的,可以在cmake时使用如下语句:
sudo cmake -D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ -D CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local #你的路径
-D CUDA_GENERATION=Auto OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules/ .. #最后这个选装,是opencv_contrib
注意:上述命令运行时要手动去除注释和回车符号,并修改为自己的路径!!!
参考:
https://github.com/opencv/opencv/issues/18448