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

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 编译器就解决了问题

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

相关文章:

  • 2015网站建设百度云盘官网
  • 用微信怎么做企业网站百度怎么推广自己的网站
  • wordpress文章排版编辑器网络优化工程师是做什么的
  • 移动网站开发认证企业查询平台
  • 纯div css网站哪些广告平台留号码
  • 怎样做吓人网站推广业务平台
  • 新一代WebP2P视频物联技术:EasyRTC嵌入式音视频通信SDK助力音视频实时通信场景应用
  • 蜂鸟E203与PicoRV32两款RISC-V处理器的对比分析
  • 紫光同创FPGA实现视频采集转USB2.0输出,基于CY7C68013芯片,提供PDS工程源码和技术支持和QT上位机
  • 05-jenkins学习之旅-vue前项目部署实践
  • hadoop异构存储
  • crc32代码设计
  • Docker基础 -- 构建 RK3588 Debian 根文件系统
  • 海思3519V200ARM Linux 下移植 Qt5.8.0
  • EPT(Efficient Prompt Tuning)方法,旨在解决提示调优(Prompt Tuning)中效率与准确性平衡和跨任务一致性的问题
  • Android studio进阶开发(六)--如何用真机通过okhttp连接服务器
  • 20250526惠普HP锐14 AMD锐龙 14英寸轻薄笔记本电脑(八核R7-7730U)的显卡驱动下载
  • Linux_编辑器Vim基本使用
  • 【iOS】 锁
  • Linux(Centos 7.6)命令详解:tar
  • jEasyUI 表单的 CRUD 应用
  • pgsql 一些用法
  • 【C++指南】string(四):编码
  • Android 架构演进之路:从 MVC 到 MVI,拥抱单向数据流的革命
  • 手机发热怎么办?
  • 网络安全全知识图谱:威胁、防护、管理与发展趋势详解