При компиляции opencv3 получаем «неопределенную ссылку libgdal.so.20»

#opencv #opencv3.0

#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:

Я решил, используя это (модули)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 = это количество ядер моего процессора