编译opencv3得到"libgdal.so.20 undefined reference"

Compiling opencv3 get "libgdal.so.20 undefined reference"

当我尝试编译 opencv3 时出现此错误:

../../lib/libopencv_imgcodecs.so.3.4.2: undefined reference "TIFFReadDirectory@LIBTIFF_4.0" //usr/lib/libgdal.so.20: undefined reference "TIFFLastDirectory@LIBTIFF_4.0" ../../lib/libopencv_imgcodecs.so.3.4.2: undefined reference "TIFFWriteEncodedStrip@LIBTIFF_4.0" ../../lib/libopencv_imgcodecs.so.3.4.2: undefined reference "TIFFIsTiled@LIBTIFF_4.0" //usr/lib/libgdal.so.20: undefined reference "TIFFSwabArrayOfShort@LIBTIFF_4.0" //usr/lib/libgdal.so.20: undefined reference "TIFFIsByteSwapped@LIBTIFF_4.0" //usr/lib/libgdal.so.20: undefined reference "TIFFFlushData@LIBTIFF_4.0" //usr/lib/libgdal.so.20: undefined reference "TIFFFreeDirectory@LIBTIFF_4.0" ../../lib/libopencv_imgcodecs.so.3.4.2: undefined reference "TIFFScanlineSize@LIBTIFF_4.0" //usr/lib/libgdal.so.20: undefined reference "TIFFWriteEncodedTile@LIBTIFF_4.0"

OS: Ubuntu 18.04

我该如何解决?我已经安装了 libgdal20 和 libgdal-dev

我用这个(模块)解决了https://github.com/opencv/opencv_contrib

如 README 所示,我是这样做的:

$ cd <opencv_build_directory>
$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
$ make -j5

在同一目录(我的主目录)中有目录 "opencv" 和 opencv_contrib 我输入:

$ cd opencv/build
$ cmake -DOPENCV_EXTRA_MODULES_PATH=/home/helias/opencv/modules  /home/helias/opencv
$ make -j 8

注意:8 = 是我的 CPU 核数