在Ubuntu中使用qt编opencv的程序时出现这怎么办啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Ubuntu中使用qt编opencv的程序时出现这怎么办啊?相关的知识,希望对你有一定的参考价值。
参考技术A OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。 ubuntu下安装cmake比较简单, apt-get install cmake apt-get install libgtk2.0-dev(下面两步安装编译必须的库) apt-get install pkg-config 然后你们下载在 Eclipse 上使用 opencv 3.0 时出现链接错误
【中文标题】在 Eclipse 上使用 opencv 3.0 时出现链接错误【英文标题】:linking error while using opencv 3.0 on eclipse 【发布时间】:2015-08-02 06:40:07 【问题描述】:我正在尝试在 Eclipse Luna 上的 ubuntu 14.04 下构建一个 opencv 3.0.0 视频项目。这是代码示例:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/videoio.hpp>
using namespace cv;
int main( int argc, char** argv )
VideoCapture cap(0);
Mat edges;
namedWindow("edges", 1);
while(1)
Mat frame;
cap >> frame;
cvtColor(frame, edges, CV_BGR2GRAY);
GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
Canny(edges, edges, 0, 30, 3);
imshow("edges", edges);
if(waitKey(30) >= 0) break;
return 0;
我收到以下错误:
undefined reference to symbol '_ZN2cv12GaussianBlurERKNS_11_InputArrayERKNS_12_OutputArrayENS_5Size_IiEEddi'
//usr/local/lib/libopencv_imgproc.so.3.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
其他过滤器也出现类似错误:
undefined reference to symbol '_ZN2cv8cvtColorERKNS_11_InputArrayERKNS_12_OutputArrayEii'
undefined reference to symbol '_ZN2cv5CannyERKNS_11_InputArrayERKNS_12_OutputArrayEddib'
我正在链接 (-l) 这些库:
opencv_core
opencv_videoio
opencv_imgcodecs
opencv_highgui
opencv_objdetect
有什么想法吗?
【问题讨论】:
您的错误 //usr/local/lib/libopencv_imgproc.so.3.0: 清楚地表明您缺少 opencv_imgproc。一个简单的谷歌搜索 error added symbols: DSO missing from command line 会告诉你应该使用 -l 添加所需的库。 【参考方案1】:这些符号在 imgproc 库中。因此,您应该将 opencv_imgproc 添加到与 -l 链接的库列表中。
【讨论】:
以上是关于在Ubuntu中使用qt编opencv的程序时出现这怎么办啊?的主要内容,如果未能解决你的问题,请参考以下文章
使用图形函数时出现分段错误(vtk 6.1、Qt5.3、Ubuntu)
在 Eclipse 上使用 opencv 3.0 时出现链接错误
使用 imshow + waitKey 显示图像 opencv+python 时出现问题