bug现象:
在Qt5.x.x升级到Qt6.x.x的过程中会遇到很多的问题,例如C1189 Qt requires a C++17 compiler, and a suitable value for __cplusplus. On MSVC
bug原因
问题的原因是Qt5与Qt6使用的编译器版本和C++版本都不同,从安装的时候就可以看到,5.15.2的时候vs2015和vs2019都可以使用,6.7.2就只支持vs2019了,5.9左右的版本只支持vs2015
对于C++版本,Qt6需要使用C++17,而Qt5需要使用C++14,如果使用vs进行编译,需要在工程属性里选择
解决方案:
在网上调查了一段时间,大概有两个方法
方法一:
右键点击工程名字->property->c/c+±>language->设定C++17
方法二
打开Qt的工程文件.pro,加入下面两段话,重新编译即可
CONFIG += c++17
QMAKE_CXXFLAGS += -std:c++17 -Zc:__cplusplus -permissive- option
我是两个方法都使用了才好使的
创作不易,扫个红包吧