qt bug日记:qt下mingw cmake 编译opencv4;opencv2编写的代码换源至opencv4
qt下mingw cmake 编译opencv4
想要使用opencv4是因为想要用到opencv4的dnn功能,在qt代码中使用yolo
下载的是最新的opencv4.5.1
解压后就进行opencv4的sourse的cmake编译
步骤:网址一:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows
网址二: https://blog.youkuaiyun.com/huihut/article/details/78701814?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
网址三:https://blog.youkuaiyun.com/weixin_39548193/article/details/114775459
可参考这些步骤,中间出现了https://tieba.baidu.com/p/5449988226?red_tag=2530338213这个问题,然后按照官网(就是网址一)方法解决
具体:https://blog.youkuaiyun.com/cai1493105270/article/details/105908901/
最后还是报错:opencv_gapi 模块出现编译错误,生成不成功,就如网址三所说的
解决办法就是在cmake中直接不勾选opencv_gapi模块(编译很多次了,很崩溃,装你不成还不能不装你了?)
最后opencv4总算装完了
寻找解决办法的时候找到一个GitHub上已经用mingw编译好的opencv多个版本,我没试,可以参考一下:https://github.com/huihut/OpenCV-MinGW-Build
opencv2编写的代码换源至opencv4
刚开始出现:Qt 编译 C++ 出现 OpenCV 4.x+ requires enabled C++11 support 错误
解决https://blog.youkuaiyun.com/rocachilles/article/details/96994244
安装最新版本的OpenCV可能会出现 OpenCV 4.x+ requires enabled C++11 support 这种错误
对于这种错误,直接查找自己使用的C++编译器如何支持 C++ 11 环境即可
对于Qt 解决方法是:在Qt 工程中的 .pro 文件中添加
QMAKE_CXXFLAGS += -std=c++11
或者
CONFIG += c++11
即可成功编译
————————————————
版权声明:本文为优快云博主「Musematics」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/rocachilles/article/details/96994244
opencv2、3、4的版本差异:https://blog.youkuaiyun.com/weixin_43084095/article/details/103710531?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161649539316780265497554%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161649539316780265497554&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-3-103710531.pc_search_result_cache&utm_term=opencv3%E5%92%8Copencv4%E7%9A%84%E5%8C%BA%E5%88%AB
然后出现因为opencv版本升级旧语言格式和新格式不兼容的问题
解决,把opencv2的格式,改成opecncv4的,一个个改就是了
参考:https://blog.youkuaiyun.com/weixin_41816889/article/details/101095342
最后程序跑通了,谢天谢地