前言:之前学习Qt 用的是VS2017 + Qt5.12.6 ,后因为项目需要,调整为 VS2015 + Qt5.12.5,
不得不说,低版本上有很多问题,不确定是环境配置还是项目设置问题,特此记录一下。
关键词:
高版本:VS2017 + Qt5.12.6
低版本:VS2015 + Qt5.12.5
问题列表:
1. 之前用VS2017+ Qt5.12.6 编写了一个测试项目MyQt,到低版本上 Debug 版本编译成功,运行就报错了,
但是改成 Release 版本编译运行就正常,另外用低版本新建了一个Qt项目Debug/Release 都是正常运行的......
解决方法:
通过查找MyQt项目属性Debug和Release 有什么不同,发现Release附件包含目录没有 $(Qt_INCLUDEPATH_);
于是Debug版本把附件包含目录中的 $(Qt_INCLUDEPATH_); 删除,重新编译生成,运行就正常了,
然后再重新加上$(Qt_INCLUDEPATH_);重新编译生成,运行仍然正常..........有点欺负人了!
这样更改之后,VS调试环境下可以调试运行了,但是打包收集dll的时候又报相同的错误了...
一定是项目属性上存在问题,于是就查找MyQt和新增项目QtGuiApplication2在项目属性上的不同,结果发现运行库不同:
把Debug 运行库改成多线程调试DLL(/MDd) 就可以了。Release 版本不用修改,运行正常 !
注意一点,一定要把之前Qt 收集的 dll 清理掉,否则仍会报错:
2. 编译时报错:
解决方法: 修改项目属性后直接编译,就会报这个错,再重新编译一次就正确了!
个人理解的是:修改项目属性后,VS2015 还没有解析完Qt属性,就会报错,等一会就好了。