QT+OpenCv利用CMake编译的注意事项

QT+OpenCv利用CMake编译的注意事项

1.安装MSVC2015

(1)建议完全卸载之前的MSVC(不管是啥版本的),怎么完全卸载,百度有教程,但是百度的教程我用不好,而且下载贼慢,如果没有完全卸载,在Cmake点Configure的时候就只会出现几行红字。一直error。失败了很多回。我是没办法了只能重装系统。附件1就是百度的方法微软官方的完全卸载MSVC所有版本的工具,用法在安装包里。如果有跟我一样运行软件没啥反应的,建议直接重装系统,别挣扎了。
(2)下载完MSVC2015之后解压,那个安装.exe文件要用管理员权限打开。
(3)安装的时候要关闭杀毒软件,关闭杀毒软件,关闭杀毒软件!
(4)不要点默认安装,要点自定义安装。win7win8.1的要勾上开头C++那个,千万不要手残勾选后面的WIN10SDK!,否则,后面MSVC编译pro的一直提醒一大堆错误。win10的不知道。
(5)开始安装,等上个把小时
(6)从网上下载一个VC++合集,都装上,否则MSVC打不开。

2.Cmake构建

(1)下载安装QT4.10.0,千万不要装5.0以上的版本!!!!最好装4.1的版本,否则下面Cmake会出错!!!!!!!!等MSVC编译完成才能装5.0版本
(2)网上下载好OpenCV之后放在非违法路径里面,例如D盘某个文件夹里面,Souse code 路径选择 D:/SoftWare_Work/opencv/sources,编译路径选择D:/SoftWare_Work/opencv/build然后单击Configure之后弹出一个界面需要选择Visual Studio 14 2015,其他不要动!然后点确认。
(3)界面变成红色。然后勾选BUILD_opencv_world旁边的框再次点击Configure,要等上几分钟慢慢配置(配图1)
(4)配置完成后点击Generate,然后点击OpenProject

3.MSVC编译

(1)vs2015打开后,主菜单选择buid(编译)Batch Build(批生成),在弹出的界面上一定要勾选上ALL_BUILD两个选项和INSTALL两个选项。然后点BUILD(编译)按钮(配图2),慢慢等把可能要个把小时。编译完成之后关闭MSVC

4.QT

(1)卸载QT4的版本。装上牛X的5.9.1。注意安装的时候要选上msvc2015 32-bit 和最上面的MinGW 5.3.0 32bit
(2)在环境变量->系统变量->path里面加上D:\SoftWare_Work\opencv\build\install\x86\vc14\bin,注意添加的时候加一个英文的分号;。是刚才opencv的存放路径,要对应好,然后重启电脑
(3)在上面Cmake编译的OpenCV文件夹里面创建一个记事本文件,命名为opencv.pri,注意文件夹选项要能查看到扩展名否则这个文件实际上名称是opencv.pri.txt 后缀名是txt,那么就是错误的。
(4)编辑这个opencv.pr,里面写
INCLUDEPATH += D:/SoftWare_Work/opencv/build/install/include
Debug: {
LIBS += -lD:/SoftWare_Work/opencv/build/install/x86/vc14/lib/opencv_world310d
}
Release: {
LIBS += -lD:/SoftWare_Work/opencv/build/install/x86/vc14/lib/opencv_world310
}
注意路径匹配和OpenCV版本匹配,打开opencv/build/install/x86/vc14/lib里面看实际上是310还是330等等
(5)打开QT创建一个工程,例如text。创建的时候编译工具选择msvc2015 32-bit。创建完成后在左边项目框里找到text.pro,在最后一行加上opencv.pri的存放路径用以下格式include(D:/SoftWare_Work/opencv/opencv.pri)(配图3)
(6)在上面菜单栏里面找到qmake,点击之后项目会出现一个opencv文件夹然后在Sourse双击main.cpp 添加适量的代码(该加的加,一样的不用动)随便找个jpg的图片,放在英文路径下,替换下面程序里面imread里面的路径。
#include “mainwindow.h”
#include
#include"opencv2/opencv.hpp"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);

using namespace cv;
Mat image = imread("E:/images/text.jpg");
imshow("OUTPUT",image);
MainWindow w;
w.show();

return a.exec();

}
然后点击左下角运行,能出来图片就万事大吉了!以上的步骤不要弄错,一步一步来,否则就是自找麻烦。我第一次安装就搞了两天运气好,第二次安装竟然弄了快一个星期,就是那个可恶的MSVC没有卸载干净!实在搞不定的联系我QQ731391057,或者留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:collect2.exe: error: ld returned 1 exit status mingw32-make\[2\]: *** \[modules\core\CMakeFiles\opencv_core.dir\build.make:1800: bin/libopencv_core451.dll\] Error 1 mingw32-make\[1\]: *** \[CMakeFiles\Makefile2:1794: modules/core/CMakeFiles/opencv_core.dir/all\] Error 2 mingw32-make: *** \[Makefile:165: all\] Error 2 。 引用\[2\]:mingw32-make\[2\]: *** \[modules\python2\CMakeFiles\opencv_python2.dir\build.make:76: modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.obj\] Error 1 mingw32-make\[1\]: *** \[CMakeFiles\Makefile2:3365: modules/python2/CMakeFiles/opencv_python2.dir/all\] Error 2 mingw32-make: *** \[Makefile:165: all\] Error 2 。 引用\[3\]:问题:gcc: error: long: No such file or directory** C:\PROGRA~2\Dev-Cpp\MinGW64\bin\windres.exe: preprocessing failed. modules\core\CMakeFiles\opencv_core.dir\build.make:1420: recipe for target ‘modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj’ failed mingw32-make\[2\]: *** \[modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj\] Error 1 mingw32-make\[2\]: *** Waiting for unfinished jobs… CMakeFiles\Makefile2:1603: recipe for target ‘modules/core/CMakeFiles/opencv_core.dir/all’ failed mingw32-make\[1\]: *** \[modules/core/CMakeFiles/opencv_core.dir/all\] Error 2 。 问题:qtOpencv4 cmake时mingw32-make: *** \[Makefile:165: all\] Error 2 回答: 这些错误信息表明在使用Qt中的Opencv4进行cmake时出现了问题。具体来说,出现了ld returned 1 exit status、Error 1、Error 2等错误。这些错误通常是由于编译器无法找到所需的文件或目录导致的。可能的原因包括缺少依赖项、路径设置错误或编译器配置问题。为了解决这些错误,您可以尝试以下几个步骤: 1. 确保您已正确安装了Opencv4和Qt,并且它们的路径已正确设置。 2. 检查您的编译器配置是否正确,包括编译器版本和路径设置。 3. 检查您的项目配置文件是否正确,包括CMakeLists.txt文件中的路径和依赖项设置。 4. 确保您的系统中已安装所需的依赖项,并且它们的路径正确。 5. 尝试清理并重新构建您的项目,以确保所有文件和依赖项都正确配置。 如果您仍然遇到问题,建议您查阅Opencv4和Qt的官方文档,以获取更详细的指导和解决方案。 #### 引用[.reference_title] - *1* *2* [Qt5.14+Opencv4.1+CMake3.22配置](https://blog.csdn.net/qq_45792470/article/details/125774264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [OpenCV使用CMake和MinGW-w64的编译安装](https://blog.csdn.net/qq_61604164/article/details/121731875)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值