Ответ 1
Вам нужно добавить еще один аргумент -L
, определяющий фактическое расположение библиотек OpenCV.
Я пытаюсь скомпилировать образец программы после установки Opencv с помощью команды:
g++ hello-world.cpp -o hello-world -I/usr/local/include/opencv -L/usr/local/lib -lm -lcv -lhighgui -lcvaux
однако, я получаю сообщение об ошибке:
/usr/bin/ld: не удается найти -lcv
/usr/bin/ld: не можете найти -lhighgui
/uer/bin/ld: не удается найти -lcvaux
collect2: ld возвращен 1 статус выхода
Что мне нужно сделать, чтобы исправить это? Я установил opencv, загрузив последнюю стабильную версию и используя cmake для создания файлов сборки, а затем выполнил make install из командной строки.
Было ли что-нибудь, что я, возможно, пропустил?
Спасибо,
Вам нужно добавить еще один аргумент -L
, определяющий фактическое расположение библиотек OpenCV.
ОБНОВЛЕНО (Извините за ошибки в командной строке)
Лучше использовать эту команду:
g++ `pkg-config --cflags --libs opencv` opencv.cpp -o opencv
Команда pkg-config
найдет правильное включение и библиотеку для вашего исходного кода.
Для лучшей обработки с помощью программирования OpenCV используйте IDE, например code::block
.
Возможно, этот учебник поможет вам в программировании OpenCV с помощью code::block
:
Как установить OpenCV для кода:: block в Linux и Windows?
Недавно я начал использовать OpenCV, и у меня возникла аналогичная проблема, и для меня это работает очень хорошо:
-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect
Надеюсь, что это решит вашу проблему.