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