LINUX.ORG.RU

Underfined reference в Opencv ImgProc

 ,


0

1

Всем добрый день. Мучаюсь, не могу собрать приложение со статической сборкой OpenCv. В Windows и в Mac получилось без проблем.

Как собираю OpenCv: 1) Запускаю графический CMake и убираю галочки у всего, оставляю Image Proc, HighGui, Core, ставлю shared_library false 2) Потом make, make install

В Qt creator в pro файле есть строки вида. LIBS += -L/usr/local/lib/ \ -lopencv_core \ -lopencv_imgproc \ -lopencv_highgui \ -llibjpeg \ -lpng

При собрке собственно они тоже есть: g++ ... -L/usr/local/lib/ -lopencv_core -lopencv_imgproc -lopencv_highgui -llibjpeg -lpng ...

Но вот какие ошибки мне приходят: imgwarp.cpp:-1: error: undefined reference to `cv::ParallelLoopBody::~ParallelLoopBody()' color.cpp:-1: error: undefined reference to `cv::parallel_for_(cv::Range const&, cv::ParallelLoopBody const&, double)'

И вообще много еще каких. В общем вот какие фалйы там перечисляются: imagewarp.cpp, color.cpp, templatematch.cpp.

Кстати вот что еще, я когда первый раз OpenCv2/opencv.hpp подключаю, он ругается что нет #include «opencv2/photo/photo.hpp» Я просто его закомментировал и все, но вот потом ошибки линковщика, но они я так понимаю никак с photo модулем не связаны.

Чего такого не хватает Opencv, я в windows и в mac подключал только HighGui/Image proc/Core и все было отлично, а тут что-то туго((( Сижу на линуксе вообще 5й день, поэтому совсем тяжко(



Последнее исправление: lokoArt (всего исправлений: 3)

Для начала попробуйте OpenCV из состава дистрибутива.

Если в дистрибутиве нет, то попробуйте собрать его полностью.

unfo ★★★★★
()
Ответ на: комментарий от unfo

Ссори, а что за дистрибутив?) И с чем еего едят? Пробовал собрать весь Opencv проблема таже. Сейчас собрал динамически, проблемы нет, но вот трабл то, в том, что я не хочу с собой носить opencv(

lokoArt
() автор топика

Решение

В Linux важен порядок при линковке, поэтому поменял местами в .pro файле Open cv либы, и все собралось...

lokoArt
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.