c++ - 无法在 OpenCV 中打开共享对象文件 'libopencv_shape.so.3.1'

标签 c++ linux opencv

所以我刚刚在我的计算机上安装了 OpenCV,我正在尝试进行快速测试以使一切正常工作。我的计算机在 Linux Deepin 15 上运行。这使得问题有点难以解决,因为它并不是一个众所周知的流行发行版。

无论如何,这是我要运行的代码:

#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”文件的内容。

我该怎么办?

提前致谢!

最佳答案

您必须运行以下命令:

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

它将解决您的问题。不过,这仅适用于您当前的 bash 实例。您需要将此行复制到您的 bashrc 文件 (~/.bashrc) 以备将来使用

关于c++ - 无法在 OpenCV 中打开共享对象文件 'libopencv_shape.so.3.1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40052132/

相关文章:

linux - POSIX AIO 库和回调处理程序

python - 使用 OpenCV 获取帧时如何测试相机的实际分辨率?

c++ - 在 Windows 下,以相同的对话框 ID 打开 2 个 Windows 是否有效

c++ - 从字符串流中读取内容

c++ - 由于超时取消async_read

c++ - 如何部分禁用 C4244

linux - Cpanel 没有让我选择更改我的一个域的根目录

linux - 使用 start-stop-daemon 启动时脚本不启动

python - 如何在OpenCV中检测数独网格板

c - 使用 Open CV 检测形状