2016-10-14 3 views
4

Так что я только что установил OpenCV на свой компьютер, и я пытаюсь сделать быстрый тест, чтобы все работало. Мой компьютер работает на Linux Deepin 15. Делает проблему немного трудной для решения, поскольку это не совсем известный популярный дистрибутив.не может открыть файл общих объектов «libopencv_shape.so.3.1» в OpenCV

Во всяком случае, вот код, который я пытаюсь запустить:

#include <iostream> 
#include <string> 
#include <sstream> 
using namespace std; 

#include "opencv2/core/core.hpp" 
#include "opencv2/highgui/highgui.hpp" 
using namespace cv; 

int main(int argc, const char** argv) { 
    Mat color = imread("lena.jpg"); 
    Mat gray = imread("lena.jpg", 0); 

    imwrite("lenaGray.jpg", gray); 
    return 0; 
} 

компилировать это, используя следующую команду в терминале:

g++ main.cpp -o main `pkg-config opencv --cflags --libs` 

Он компилирует, казалось бы, без ошибок. Создание «основного» файла, хотя значок в файловом менеджере не относится к исполняемому файлу.

Когда я пытаюсь запустить его, я получаю эту ошибку:

./main: error while loading shared libraries: libopencv_shape.so.3.1: cannot open shared object file: No such file or directory 

Я совершенно не знаю, что делать. Мне действительно нужно запустить opencv. Я посмотрел в Интернете и ничего не нашел, даже ссылаясь на файл libopencv_shape.so.3.1.

Что мне делать?

Заранее благодарен!

+0

[Я только что узнал здесь] (http://stackoverflow.com/questions/40048991/using-opencv-in-eclipse-getting-started), которые открывают CV, теперь связывают все их библиотеки в одном мегалибе. Может быть полезно. – user4581301

ответ

4

Вы должны выполнить следующую команду:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib 

Это будет решить вашу проблему. Однако это будет работать только на вашем текущем экземпляре bash. Вам нужно скопировать эту строку в файл bashrc (~/.bashrc) для будущих экземпляров

Смежные вопросы