libopencv_core.so.2.4 cannot open the object file的解决办法

当编写好了一个使用到opencv库的程序(程序如下所示,名字为DisplayImage.cpp)后,

#include
#include
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out \n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}

执行“g++ -Wall DisplayImage.cpp -o DisplayImage `pkg-config opencv --cflags --libs`”后生成可执行文件DisplayImage,然后运行./DisplayImage 1.jpg时出现错误。

具体见下图:



然后在网上搜索之后找到了解决方案:

http://stackoverflow.com/questions/12335848/opencv-program-compile-error-libopencv-core-so-2-4-cannot-open-shared-object-f

按照这个教程,在/etc/ld.so.conf.d目录中创建一个名字为opencv.conf的文件,在里面写入libopencv_core.so.2.4所在的路径(/usr/local/lib),然后运行命令:

sudo ldconfig -v
问题得到完美解决。
运行结果如下:

你可能感兴趣的:(其他软件)