最近在学习Qt,想实现GPS地图的功能,找到了一个例程迫不及待地想研究一下,结果出师未捷身先死,在Qt Creator中打开.pro文件的时候就有如下报错
参考https://blog.csdn.net/sinat_41928334/article/details/118277772这个报错主要有下面三个原因
可能的三个问题
1)QT版本过低。需要QT版本号为QT5.5版本及其以上。从Qt5.5开始,Qt WebKit模块被废弃,取而代之的是Qt WebEngine模块。且只有MSVC才支持该模块。
2)没有安装WebEngine库。在安装QT文件夹里有一个MaintenanceTool.exe应用程序,你可以更新和查看是否安装了WebEngine。
3)所使用的编译器MSVC不对。
验证第二个问题:WebEngine库
我的Qt是5.15.2,MSVC是2019,首先排除第一个问题,从第二个问题开始看依稀记得安装的时候没有勾选QT webengine这个选项,我们通过查看MaintenanceTool.exe来看一下。
下面这篇blog写的是Qt5.8版本添加库的方法
https://www.cnblogs.com/lisongzzx/p/13861430.html
但是对于我5.15.2版本双击MaintenanceTool.exe之后,直接出现了在线安装的界面
然后就和安装的时候一样添加上缺少的库,下面直接上图了
本来以为要大功告成,结果还是没有卵用。。。。。。。
验证第三个问题:MSVC版本问题
1. MSVC缺少套件
只能来看第三种情况了 MSVC的问题。但是我安装清单上明明安装了MSVC2019了呀,然后我打开左侧的项目->构建和运行发现默认的项目的MinGW,结合之前查到的说Qt WebEngine只能支持MSVC 2017以上,当我想要右键使能MSVC2019,发现是灰色的???
what can I say???
然后又库库一顿查https://www.jianshu.com/p/37288d448e09
发现是缺少MSVC的套件,具体的过程可以参考以上教程。
2. Min Gw 转 MSVC版本问题
安装完之后再打开Qt Creator,发现果然可以选择MSVC 2019了,然后又尝试运行,我滴妈又有新error了
接着查https://blog.51cto.com/hongpangzi/3613467
发现是mingw转换MSVC的版本问题,需要手动设置一下。
3. dependent..... does't exist问题
之后改完又来一个小祖宗
真就bug圣体了https://blog.csdn.net/qq_42558591/article/details/140655694
参考以上在.pro文件中加入了一句QMAKE_PROJECT_DEPTH = 0又解决一个报错
4. C2143关于字符的问题
然后然后!差点给我干绝望了
不是哥们。。。。。。查到了一篇说在notepad可以转换编码格式为utf-8 BOM的,但是我试过了不管用,最后还得感谢这篇bloghttps://blog.csdn.net/qq_43521843/article/details/116864525
我用博主的方法,在.pro文件里加入了
msvc {
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}
写在最后
终于终于好咧!
OK终于搞定了,点击运行看着最后右下角的绿绿绿绿绿绿进度条,我感觉自己那一刻好像化身了大航海时代的一名海员,有着九死一生的坚韧,有着初见美洲的惊喜,有着敢于探索的求知欲,都说哥伦布发现了新大陆,但是新大陆早已存在了亿万年,天空的雨海上的风早已走过了人类的航线。
纵使bug众多,我始终相信冥冥之中殊途终归,因为程序没有感情,所以更加诚实。踏着前人走过的路,感受着初遇bug的疑惑,解决一个的窃喜,接踵而至的烦躁,日益消磨的耐心,柳暗花明的突破,破茧成蝶的正果。