求救!QT配置opencv的问题!

xuzheng11332 2018-10-09 11:37:03
QT版本是5.9
opencv版本是3.4.0

.pro文件下添加了:
INCLUDEPATH+=E:/opencv/build/include
INCLUDEPATH+=E:/opencv/build/include/opencv
INCLUDEPATH+=E:/opencv/build/include/opencv2

LIBS += "E:/opencv/build/x64/vc14/lib/opencv_world340.lib"

INCLUDEPATH += E:/opencv/build/x64/vc14
DEPENDPATH += E:/opencv/build/x64/vc14


然后main函数内的代码:
#include "MainWindow.h"
#include <QApplication>
#include <opencv/cv.h>
#include <opencv/highgui.h>

using namespace cv;

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();

Mat img=imread("./test/test.jpg");
imshow("载入图片",img);
waitKey(0);

return a.exec();
}


这样子构建项目的话会出现这三个错误
'imread' was not declared in this scope
'imshow' was not declared in this scope
'waitKey' was not declared in this scope

求救这是为什么?网上的配置方法试过很多个,要么就是报undefined reference的错误,要么就是这个错误,被搞得很烦...


...全文
283 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Android_chunhui 2018-10-12
  • 打赏
  • 举报
回复
额。。。。改完后qmake了吗?
xuzheng11332 2018-10-10
  • 打赏
  • 举报
回复
引用 7 楼 jsxyhelu2015 的回复:
可以先按照
《Windows平台下基于QT和OpenCV搭建图像处理平台视频课程》
http://edu.51cto.com/course/12055.html
完整配置一边,不要慌,发现问题解决问题。

一晚上弄下来,按视频说的方法编译一直失败,不知道原因
然后从网上下了一个编译好的opencv,结果也是跟一开始一样继续报错
真的心累这东西...
赵4老师 2018-10-10
  • 打赏
  • 举报
回复
undefined reference错误的意思就是你没有链接包含该函数的lib文件。
具体原因可能有三:
lib文件所在文件夹没指定或指定错误。
lib文件没添加到附加依赖库中。
lib文件中没导出对应的函数。

参考下面:
对VS20xx:
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
赵4老师 2018-10-10
  • 打赏
  • 举报
回复
引用 6 楼 xuzheng11332 的回复:
[quote=引用 5 楼 zhao4zhong1 的回复:]
C:\new>dumpbin /exports C:\OpenCV31\opencv\build\x64\vc14\lib\opencv_world310.lib | find "waitKey"
?waitKey@cv@@YAHH@Z (int __cdecl cv::waitKey(int))

C:\new>


您好,恕我愚钝,没有看懂您的意思[/quote]
我的意思是在我的电脑上,我用dumpbin和find命令检查C:\OpenCV31\opencv\build\x64\vc14\lib\opencv_world310.lib是否导出了int __cdecl cv::waitKey(int)函数。你可以参考。
一彤 2018-10-10
  • 打赏
  • 举报
回复
第一找不到头文件
第二找不到库文件
第三找不到dll文件
第四分别找到的以上三个文件不匹配
jsxyhelu2015 2018-10-10
  • 打赏
  • 举报
回复
在cmake的过程中,可能会从网络上下载一些东西,所以需要保证网络畅通。
因为使用qt,必须要自己make,我建议你可以先从基本的cmake过程来做,我们有一个qq群(学习OpenCV3.0),里面应该有不少遇到过这个问题的人,不知道你在不在里面。

jsxyhelu2015 2018-10-10
  • 打赏
  • 举报
回复
如果可能是系统问题,可以现状虚拟机来实验,这样环境能够独立出来。
xuzheng11332 2018-10-10
  • 打赏
  • 举报
回复
引用 9 楼 jsxyhelu2015 的回复:
在cmake的过程中,可能会从网络上下载一些东西,所以需要保证网络畅通。
因为使用qt,必须要自己make,我建议你可以先从基本的cmake过程来做,我们有一个qq群(学习OpenCV3.0),里面应该有不少遇到过这个问题的人,不知道你在不在里面。
我昨晚试过跟着来cmake了,但是出现一一个RC错误。可能我电脑比较特殊,这个错误在网上没看到有人提出来过= =,更不要说解决方法。
xuzheng11332 2018-10-10
  • 打赏
  • 举报
回复
找到一个比较玄学的解决方法= =:
其实一开始把opencv用到QT项目时,用的kit是MSVC15。把kit换成minGW就可以顺利编译项目了= =
不知道是什么原因
xuzheng11332 2018-10-09
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/imgproc/imgproc_c.h"


大神您好,添加了您给出的语句之后,出现了新的问题


之前也有过这种错误,我发现只要是跟include了opencv2有关的函数时就会出现...
不知道原因,请指教
赵4老师 2018-10-09
  • 打赏
  • 举报
回复
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/imgproc/imgproc_c.h"
jsxyhelu2015 2018-10-09
  • 打赏
  • 举报
回复
可以先按照
《Windows平台下基于QT和OpenCV搭建图像处理平台视频课程》
http://edu.51cto.com/course/12055.html
完整配置一边,不要慌,发现问题解决问题。
xuzheng11332 2018-10-09
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
C:\new>dumpbin /exports C:\OpenCV31\opencv\build\x64\vc14\lib\opencv_world310.lib | find "waitKey"
?waitKey@cv@@YAHH@Z (int __cdecl cv::waitKey(int))

C:\new>


您好,恕我愚钝,没有看懂您的意思
赵4老师 2018-10-09
  • 打赏
  • 举报
回复
C:\new>dumpbin /exports C:\OpenCV31\opencv\build\x64\vc14\lib\opencv_world310.lib | find "waitKey"
?waitKey@cv@@YAHH@Z (int __cdecl cv::waitKey(int))

C:\new>
xuzheng11332 2018-10-09
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
确认E:/opencv/build/x64/vc14/lib/opencv_world340.lib存在。
确认添加了该附加依赖库。


这个是有的
也正是因为这样才会对出现undefined reference的报错感到奇怪
赵4老师 2018-10-09
  • 打赏
  • 举报
回复
确认E:/opencv/build/x64/vc14/lib/opencv_world340.lib存在。
确认添加了该附加依赖库。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧