从VS2013+QT的项目切换到VS2022+QT5.9,安装好mscv2017版本的QT5.9,项目工程选择QT project settings中的Qt Installation为mscv2017版本的QT5.9,编译好提示找不到qtmain.lib
解决思路:
提示找到xxxx.lib,第一库目录不对,第二库目录上没有这个lib。
1.检查项目工程属性中,链接器>附加库目录,包含了$(QTDIR)\lib
2.检查mscv2017的QT5.9安装目录下lib中存在qtmain.lib,说明QT5.9安装没问题
3.打开附加库目录,查看$(QTDIR)\lib的计算值,和安装的QT5.9+mscv2017的安装目录不匹配,说明QTDIR宏计算不对
4.重新切换Qt Installation或者Qt Version中重新添加Qt版本,重新加载项目工程,再次检查QTDIR宏,仍不更新
5.检查系统环境变量是否有设置QTDIR——无
6.检查工程的vcxproj.user,发现固定了QTDIR的值,问题找到
解决办法:
删除vcxproj.user,重新打开工程,使之重新生成vcxproj.user,此时检查QTDIR宏,计算正确。
存在原因分析:
vcxproj.user是在其他机器上生成,并提交到svn库上,从而导致在本地机器上checkout下来后,使用的是其他机器上的QT安装目录。