linux Qt导入第三方库——Opencv

1、 .pro文件中加入库的头文件路径lib_开头的库路径

INCLUDEPATH += 	/home/pi/Desktop/QtPro/QtTestPro/Third_lib/opencv/include  \
LIBS += /home/pi/Desktop/QtPro/QtTestPro/Third_lib/opencv/lib/lib*  \

*号是匹配所有lib开头的文件

也可以单独添加某个库文件:

// 指定库所在路径
LIBS += -L
// 指定库文件
LIBS += -l

2. 项目文件中测试

#include 
using namespaces cv;
int main(int argc,char *argv[])
{
//    Opencv_Test
    Mat image = imread("/home/pi/Pictures/IMG_00000007.jpg");
    Mat im(4,4,CV_8U,Scalar(101,102,103));
    cvNamedWindow("windows", CV_WINDOW_NORMAL);
    imshow("windows", image);
	return 0;
}

Q&A:

不能打开共享库文件

报错:error while loading shared libraries: libopencv_xfeatures2d.so.3.4: cannot open shared object file

找到你下载opencv的位置下 libopencv_开头的库的目录,例如: /usr/lib/opencv/lib

  1. /etc/ld.so.conf.d/ 下面新建一个 opencv.conf (可能已经存在)
  2. /usr/lib/opencv/lib 写到 opencv.conf 中
  3. 最后执行下sudo ldconfig即可

如果还不能运行,先查看一下应用程序的库连接位置是否都找到了:

shell中输入

ldd 

linux Qt导入第三方库——Opencv_第1张图片
如果还找不到的话:那就放在 /usr/lib 或者 usr/local/lib 试试。

Linux中查看动态库依赖关系, ldd用得还是比较多的, 特别是出现故障的时候。

你可能感兴趣的:(QT软件开发)