1、问题的产生
在搭建好vs2017+qt环境后新建一个qt 空的项目时,编译运行,可以正常运行程序,窗口出现,如下图所示
2、解决问题
第一种方法:百度所得:将 生成+IntelliSense 更改为 仅生成
但这样总觉得没有解决问题
第二种方法:
根据错误提示,定位报错的文件和位置为qcomlilerdetection.h
将这段代码修改如下:
#if defined(__cplusplus)
#if defined(__clang__)
#if QT_HAS_CPP_ATTRIBUTE(clang::fallthrough)
# define Q_FALLTHROUGH() [[clang::fallthrough]]
#endif
#elif defined(__GNUC__)
#if QT_HAS_CPP_ATTRIBUTE(gnu::fallthrough)
# define Q_FALLTHROUGH() [[gnu::fallthrough]]
#endif
#elif QT_HAS_CPP_ATTRIBUTE(fallthrough)
# define Q_FALLTHROUGH() [[fallthrough]]
#endif
#endif
再次编译,可以看到错误已经解决!
参考blog: