libopencv_high gui .so.3.4: невозможно открыть файл общих объектов: нет такого файла или каталога в eclipse ide для кросс-компилятора - PullRequest
0 голосов
/ 06 мая 2020

Я воткнул проблему. Разрабатываю кросс-компиляцию для встраиваемой системы. Я построил 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 ++ Includes

" Папка библиотек, которая находится в кросс-компоновщике G ++ Libraries

Наконец, я добавил LD_LIBRARY_PATH в отладку настройки eclipse Path Conf.

Я попробовал команды sudo apt update и sudo apt upgrade, но все равно получаю сообщение об ошибке.

Есть ли у кого-нибудь совет?

1 Ответ

0 голосов
/ 06 мая 2020

решение - добавить "/ usr / local / lib" в LD_LIBRARY_PATH в среде. у меня LD_LIBRARY_PATH /usr/arm-linux-gnueabihf/lib/:usr/local/lib/

...