Ставлю под Ubuntu 18.04. Устанваливаю полностью по мануалу, с добавлением флага -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules во время сборки. Ошибок не возникает, после установки хэдеры и библиотеки модулей лежат в /usr/local/include/opencv4/opencv2 и /usr/local/lib соответственно.
При этом pkg-config --cflags opencv выдаёт:
-I/usr/include/opencv
Другими словами модулей он не видит. Если собираю через CMake с командой
include_directories( ${OpenCV_INCLUDE_DIRS} )
То ругается на отсутствие модуля (из-за прописанного в коде #ifdef HAVE_OPENCV_XFEATURES2D).
При попытке ручного сбора через g++:
g++ FeatureDetector_example.cpp -I/usr/local/include/opencv4 -L/usr/local/lib
Получаю пачку undefined reference. В чём может быть причина и возможный фикс?
Продвижение своими сайтами как стратегия роста и независимости