Visual Studio Qt VS Tools无法编译项目,报错MSB4019
遇到的错误:
Error MSB4019 The imported project "D:\Teme Proiecte\Programare\QtWidgetsApplication3\QtWidgetsApplication3\QtMsBuild\Qt.props" was not found. Confirm that the expression in the Import declaration "D:\Teme Proiecte\Programare\QtWidgetsApplication3\QtWidgetsApplication3\QtMsBuild\Qt.props" is correct, and that the file exists on disk.
针对修改用户名后出现的这个问题,可按以下步骤排查修复:
修正项目文件的路径引用
打开报错的QtWidgetsApplication3.vcxproj文件,找到第54行的<Import>节点。当前硬编码的本地路径大概率是问题所在,把它替换成Qt MsBuild的变量引用$(QtMsBuild)\Qt.props,这样会自动读取系统配置的Qt路径。修复Qt MsBuild的环境变量/注册表项
修改用户名后,系统里的Qt路径配置可能残留旧用户信息:- 按下Win+R输入
regedit打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\[你的VS版本号],检查MSBuildToolsPath是否正确,同时确认是否有Qt相关的路径配置指向旧用户目录,如有则修改为当前Qt安装的正确路径。 - 右键此电脑→属性→高级系统设置→环境变量,检查系统变量里是否有
QtMsBuild,值是否指向Qt安装目录下的QtMsBuild文件夹(比如C:\Qt\Qt5.15.2\msvc2019_64\QtMsBuild)。没有的话手动添加这个变量。
- 按下Win+R输入
重新配置Qt VS工具
打开Visual Studio,找到顶部菜单栏的「Qt VS Tools」→「Qt Options」,删掉旧的Qt版本配置,重新添加当前安装的Qt版本并确认路径正确。之后右键项目→「Qt VS Tools」→「Run qmake」,再重新生成项目。清理项目缓存文件
删除项目目录下的.vs、Debug、Release文件夹,以及QtWidgetsApplication3.vcxproj.user文件,然后重新打开项目并执行生成操作。
内容的提问来源于stack exchange,提问作者Samuel Edi

