libopencv_imgcodecs.so.3.2:无法打开共享对象文件:没有这样的文件或目录

时间:2017-04-01 03:14:24

标签: c++ linux opencv compilation g++

我知道之前已经提出了类似的问题,但没有一项建议有所帮助。

我正在尝试在Ubuntu 15.10中使用C ++编译OpenCV项目。我可以在Netbeans中正确运行项目。但我应该将此发送给将使用命令行的人。我可以使用以下行编译程序:

 g++ -ggdb -o convert *.cpp  \`pkg-config --cflags --libs opencv\`

其中convert是可执行文件的所选名称。执行此行后没有问题。但是当我跑步时

./convert "image1.tif" "image2.tif"

我明白了:

  ./convert: error while loading shared libraries: libopencv_imgcodecs.so.3.2: cannot 
open shared object file: No such file or directory

在我的.cpp文件中,我有:

#include "/usr/local/include/opencv2/highgui/highgui.hpp"

文件libopencv_imgcodecs.so.3.2位于我的/usr/local/lib文件夹中。我尝试将-L/usr/local/lib放在命令行中,但这没有帮助。也许这个文件路径需要在命令行中按特定顺序进行? pkg-config --cflags --libs opencv的顺序很重要,它必须在-o convert * .cpp之后。

1 个答案:

答案 0 :(得分:0)

为方便起见,正如第一条评论所述,您只需要:

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

如果您的CMAKE_INSTALL_PREFIX=/usr/local