
У меня есть несколько простых файлов OpenCV, которые я хотел скомпилировать в 12.04.
Я установил все пакеты -dev
Они используют:
#include <cv.h>
#include <highgui.h>
в верхней части файла.
С использованием
g++ `pkg-config --cflags --libs opencv` canny.cpp
даетcv.h: No such file or directory
pkg-config, кажется, есть в списке /usr/include/opencv
, но каталог, созданный при установке,/usr/include/opencv2
Это ошибка? Есть какие-нибудь советы?
решение1
Если вы правильно установили библиотеки, то команда, которую вы используете для компиляции кода через терминал, неверна. Я сам пробовал, и это не работает! Попробуйте следующее,
g++ canny.cpp -o canny `pkg-config --cflags --libs opencv`
Эта линия должна работать нормально. Пожалуйста, попробуйте и дайте нам знать.
решение2
Вам необходимо установить пакет libcv-dev, чтобы получить заголовочные файлы старого стиля в /usr/include/opencv/.
решение3
Замените заголовочные файлы в коде на эти (предполагается, что ваш путь — «/usr/include/»):
#include <opencv2/opencv.hpp>
и использовать это для компиляции
g++ canny.cpp -o canny -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect
решение4
g++ filename.cpp -o outputfile-name `pkg-config --cflags --libs opencv`
Пример компиляции:
g++ simple.cpp -o sample `pkg-config --cflags --libs opencv`
Бегать:
./sample