当前位置: 首页 > article >正文

Qt6无法识别OpenCV(Windows端开发)

这段时间在Windows 10上进行Qt6的开发。结果在build过程中,出现了如下错误:
在这里插入图片描述
但实际上,我明明安装了OpenCV4.10.0, 并且也在CMakeLists.txt中加入了相关内容。

但是,注意自己的编译输出:

[1/5 1.4/sec] Automatic MOC and UIC for target RealTimeShowing
[2/5 0.7/sec] Building CXX object CMakeFiles/RealTimeShowing.dir/mainwindow.cpp.obj
[3/5 0.7/sec] Building CXX object CMakeFiles/RealTimeShowing.dir/main.cpp.obj
[4/5 0.9/sec] Building CXX object CMakeFiles/RealTimeShowing.dir/RealTimeShowing_autogen/mocs_compilation.cpp.obj
[5/5 1.1/sec] Linking CXX executable RealTimeShowing.exe
FAILED: RealTimeShowing.exe 
C:\Windows\system32\cmd.exe /C "cd . && H:\Qt\Tools\mingw1310_64\bin\g++.exe -DQT_QML_DEBUG -g -mwindows CMakeFiles/RealTimeShowing.dir/RealTimeShowing_autogen/mocs_compilation.cpp.obj CMakeFiles/RealTimeShowing.dir/main.cpp.obj CMakeFiles/RealTimeShowing.dir/mainwindow.cpp.obj -o RealTimeShowing.exe -Wl,--out-implib,libRealTimeShowing.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -LH:/QtProgramming/RealTimeShowing/SYSTEM   -LH:/OpenCV/opencv/build/x64/vc16/lib H:/Qt/6.9.0/mingw_64/lib/libQt6Widgets.a  H:/Qt/6.9.0/mingw_64/lib/libQt6Gui.a  H:/Qt/6.9.0/mingw_64/lib/libQt6Core.a  -lmpr  -luserenv  -lmingw32  H:/Qt/6.9.0/mingw_64/lib/libQt6EntryPoint.a  -lshell32  -ld3d11  -ldxgi  -ldxguid  -ld3d12  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/RealTimeShowing.dir/RealTimeShowing_autogen/mocs_compilation.cpp.obj: in function GetFrame::run()':
H:/QtProgramming/RealTimeShowing/GetFrame.h:29: undefined reference to cv::VideoCapture::VideoCapture(int, int)'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:31: undefined reference to cv::VideoCapture::isOpened() const'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:36: undefined reference to cv::Mat::Mat()'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:40: undefined reference to cv::VideoCapture::operator>>(cv::Mat&)'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:42: undefined reference to cv::Mat::empty() const'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:51: undefined reference to cv::VideoCapture::release()'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:52: undefined reference to cv::Mat::~Mat()'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:52: undefined reference to cv::VideoCapture::~VideoCapture()'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:52: undefined reference to cv::Mat::~Mat()'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/QtProgramming/RealTimeShowing/GetFrame.h:52: undefined reference to cv::VideoCapture::~VideoCapture()'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/RealTimeShowing.dir/RealTimeShowing_autogen/mocs_compilation.cpp.obj: in function void std::__new_allocator<cv::Mat>::construct<cv::Mat, cv::Mat const&>(cv::Mat*, cv::Mat const&)':
H:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h:187: undefined reference to cv::Mat::Mat(cv::Mat const&)'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: H:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h:187: undefined reference to cv::Mat::Mat(cv::Mat const&)'
H:/Qt/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/RealTimeShowing.dir/main.cpp.obj: in function void std::_Destroy<cv::Mat>(cv::Mat*)':
H:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h:151: undefined reference to cv::Mat::~Mat()'
collect2.exe: error: ld returned 1 exit status

按照ChatGPT给出的建议,换成了MSVC 编译器就解决了问题

可见类似情况,关注下编译输出很有必要,可能问题就藏在其中。

http://www.lryc.cn/news/2392159.html

相关文章:

  • 二、网络安全常见编码及算法-(2)
  • Windows系统安装MySQL Connector 使用C++ VS2022连接MySQL
  • D2000平台上Centos使用mmap函数遇到的陷阱
  • Elasticsearch索引机制与Lucene段合并策略深度解析
  • BPE、WordPiece 与 Unigram:三种主流子词分词算法对比
  • 青少年编程与数学 02-020 C#程序设计基础 11课题、可视化编程
  • AI时代新词-AI驱动的自动化(AI - Driven Automation)
  • 整合Jdk17+Spring Boot3.2+Elasticsearch9.0+mybatis3.5.12的简单用法
  • Starrocks 物化视图的实现以及在刷新期间能否读数据
  • 前后端传输 Long 类型数据时(时间戳,雪花算法ID),精度丢失的根本原因
  • 探索容器技术:Docker与Kubernetes的实践指南
  • Ubuntu从0到1搭建监控平台:本地部署到公网访问实战教程Cpolar穿透与Docker部署全过程
  • vscode java debug terminal 中文乱码
  • 3D PDF如何制作?SOLIDWORKS MBD模板定制技巧
  • Qt DateTimeEdit(时间⽇期的微调框)
  • C# 类和继承(屏蔽基类的成员)
  • 基于qt5和stk10开发的互联调试
  • matlab雷达定位仿真
  • 基于vue框架的动物园饲养管理系统a7s60(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • MySQL 索引和事务
  • BERT分类器和朴素贝叶斯分类器比较
  • WPS自动换行
  • C#面向对象核心:类继承详解
  • maven中的grpc编译插件protobuf-maven-plugin详解
  • 服务发现Nacos
  • 社群分享:义乌|杭州电商|店群卖家,私域鱼塘运营的排单系统开源|私域鱼塘运营|返款软件开源
  • C#回调函数深度解析
  • 通义智文开源QwenLong-L1: 迈向长上下文大推理模型的强化学习
  • HTTP代理的实际用处有哪些?HTTP代理强在哪里?
  • 低代码——表单生成器以form-generator为例