LINUX.ORG.RU

OpenCV - undefined reference

 , ,


0

1
CMakeFiles/objdetect.dir/objdetect.cpp.o: In function `detectAndDisplay(cv::Mat)':
objdetect.cpp:(.text+0x7ca): undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
CMakeFiles/objdetect.dir/objdetect.cpp.o: In function `main':
objdetect.cpp:(.text.startup+0x193): undefined reference to `cv::gpu::CascadeClassifier_GPU::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
objdetect.cpp:(.text.startup+0x1a2): undefined reference to `cv::gpu::CascadeClassifier_GPU::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
objdetect.cpp:(.text.startup+0x1c6): undefined reference to `cv::VideoCapture::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

Все библиотеки opencv я подключил (и перепробовал в различных комбинациях), в особенности opencv_gpu и opencv_highgui.

Что я делаю не так?

OpenCV собранный из гита, из ветки 2.4.

Если я линкуюсь к библиотекам установленного в убунте opencv, то всё собирается. Если я собираю примеры из самого opencv, то они тоже собираются. Но почему-то у меня с такими же точно опциями сборки (я смотрел make VERBOSE=1) не собирается.

То ли лыжи не едут... то ли второе.

★★★★★

Точно один и тот же компилятор используется? Может где-то 4.х, а где-то 5.х? В GCC же раньше зачем-то запиливали строки с подсчетом ссылок, а в С++11 это запретили, тогда в GCC 5 их убрали. И вероятно разрулили через: std::__cxx11::basic_string. Который у тебя теперь и не находится.

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

Вот я балбес. Версию компилятора менял, да, а вот про c++11 не подумал. Спасибо )

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