编译opencv3可获得“ libgdal.so.20未定义参考”

时间:2019-03-13 17:33:15

标签: opencv opencv3.0

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

  

../../ lib / libopencv_imgcodecs.so.3.4.2:未定义的引用   “ TIFFReadDirectory@LIBTIFF_4.0” //usr/lib/libgdal.so.20:未定义   参考“ TIFFLastDirectory@LIBTIFF_4.0”   ../../lib/libopencv_imgcodecs.so.3.4.2:未定义的参考   “ TIFFWriteEncodedStrip@LIBTIFF_4.0”   ../../lib/libopencv_imgcodecs.so.3.4.2:未定义的参考   “ TIFFIsTiled@LIBTIFF_4.0” //usr/lib/libgdal.so.20:未定义的参考   “ TIFFSwabArrayOfShort@LIBTIFF_4.0” //usr/lib/libgdal.so.20:未定义   参考“ TIFFIsByteSwapped@LIBTIFF_4.0” //usr/lib/libgdal.so.20:   未定义的参考“ TIFFFlushData@LIBTIFF_4.0”   //usr/lib/libgdal.so.20:未定义的引用   “ TIFFFreeDirectory@LIBTIFF_4.0”   ../../lib/libopencv_imgcodecs.so.3.4.2:未定义的参考   “ TIFFScanlineSize@LIBTIFF_4.0” //usr/lib/libgdal.so.20:未定义   参考“ TIFFWriteEncodedTile@LIBTIFF_4.0”

操作系统:Ubuntu 18.04

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

1 个答案:

答案 0 :(得分:0)

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

如自述文件所示,我这样做:

$ 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内核数