Я воткнул проблему. Разрабатываю кросс-компиляцию для встраиваемой системы. Я построил opencv для arm_ linux -gnueabihf.
Моя версия ubuntu - 18.04.2 x86_64 5.3.0.51-generi c.
Проблема в том, что
libopencv_high gui .so.3.4: не удается открыть файл с общим объектом: нет такого файла или каталога. Я добился успеха в проекте, но когда я запускаю проект, у меня возникает проблема
это мой код
#include <iostream>
#include <stdio.h>
#include <cv.h>
#include <opencv2/videoio.hpp>
#include <opencv2/core.hpp>
#include <opencv2/core/mat.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main(int, char**){
Mat frame;
VideoCapture cap;
int deviceId = 0;
int apiId = cv::CAP_ANY;
cap.open(deviceId,apiId);
if (!cap.isOpened()){
cerr<<"Error! Unable to camera\n";
return -1;
}
for(;;){
// read frame
cap.read(frame);
if (frame.empty()){
cerr <<" ERROR ! black frame grabbed ! \n";
break;
}
imshow("Live",frame);
if (waitKey(5) >= 0){
break;
}
}
return 0;
}
Я проверил библиотека следующим образом:
sudo find / -name "libopencv_high gui .so.3.4"
команда вернулась следующим образом:
/usr/local/lib/libopencv_highgui.so.3.4
/usr/local/lib/libopencv_highgui.so.3.4.4
/usr/local/include/lib/libopencv_highgui.so.3.4
/usr/local/include/lib/libopencv_highgui.so.3.4.4
Я создал файл в / etc / ld.so.conf.d / opencv.conf , содержащий
/usr/local/lib
/usr/local/include
, затем я запускаю команду sudo ldconfig -v и он вернулся как
/sbin/ldconfig.real: /usr/local/lib/libopencv_highgui.so.3.4.4 is for unknown machine 40.
/sbin/ldconfig.real: /usr/local/lib/libopencv_imgproc.so is for unknown machine 40.
/sbin/ldconfig.real: /usr/local/lib/libopencv_xfeatures2d.so is for unknown machine 40.
/sbin/ldconfig.real: /usr/local/lib/libopencv_bgsegm.so.3.4.4 is for unknown machine 40.
/sbin/ldconfig.real: /usr/local/lib/libopencv_objdetect.so.3.4 is for unknown machine 40.
, а также другие библиотеки opencv.
Я настроил настройку затмения для библиотек следующим образом:
папка «Включает», которая находится в кросс-компиляторе G ++
" Папка библиотек, которая находится в кросс-компоновщике G ++
Наконец, я добавил LD_LIBRARY_PATH в отладку настройки eclipse
Я попробовал команды sudo apt update и sudo apt upgrade, но все равно получаю сообщение об ошибке.
Есть ли у кого-нибудь совет?