Я делаю простую программу на С ++ с включенной библиотекой openCV.Eclipse IDE распознает команды openCV и расположения библиотек, но когда я пытаюсь построить проект, компилятор выдает внешнюю ошибку, ссылаясь на файл opencv.hpp или core.hpp, вызывающий путь "opencv2 / core.hpp", которого нет в opencvпапка.Я понял, что проблема связана с тем, как вызывается core.hpp, но файлы библиотеки доступны только для чтения.Из того, что я увидел в файле opencv.hpp, эта относительная ссылка "opencv2 / [module] .hpp" относится не только к ядру, но и ко всем другим модулям.На самом деле внутри той папки, в которой установлен openCV, нет никакой папки opencv.
Я попытался переустановить и заново преобразовать openCV с другими аргументами создания, используя другую IDE и включая папки прямого поиска в eclipse.Проблема, по-видимому, заключается в самих файлах или в том, как они могут быть неправильно установлены в системе.Проблема сохраняется как на моей основной машине с Ubuntu, так и на ARMbian orange pi.
Я получаю эту ошибку при попытке включить любую библиотеку openCV, в которой содержится #include "opencv2/[opencv module].hpp"
, в результате компиляциизавершается сообщением об ошибке "/usr/local/include/opencv4/opencv2/opencv.hpp:52:28: фатальная ошибка: opencv2 / core.hpp: нет такого файла или каталога"
edit 1: Опции компилятора GCC c ++ -Iusr/local/include/opencv4/opencv2 -O3 -Wall -c -fmessage-length=0
и опции компоновщика -L/usr/local/lib
.Код представляет собой простой displayImage
#include <opencv4/opencv2/opencv.hpp>
#include <opencv4/opencv2/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
edit 2: $ pkg-config --libs opencv
не видит openCV, установленный в системе, хотя я обязательно запустил make install
и ldconfig
на пути.Это может быть сигналом о неправильной установке, но это просто примечание, не полностью связанное с основной проблемой.Я попытался переустановить и в разные папки, но это также сохраняется, а также основная проблема