我点击了它并让它工作了。
我听从了@cbuchart 的建议;但需要做更多/不同的事情。
这就是我所做的。我将%LOCALAPPDATA%\QtMsBuild 复制到我的仓库中。然后我用文本编辑器编辑了我的.vcxproj。我调整了看起来像这样的线:
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
成为:
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\..\QtMsBuild</QtMsBuild>
根据您的项目所在位置与复制的QtMsBuild 目录的相对位置,您可能需要对此进行调整。在我的情况下,.vcxproj 位于与包含我复制的 QtMsBuild 目录的目录相比的一级目录中。
接下来在QtMsBuild/Qt.props 文件中我添加了以下内容:
<PropertyGroup>
<DefaultQtVersion>$(MSBuildThisFileDirectory)\..\Qt5.15.0\msvc2019_64</DefaultQtVersion>
<QtToolsPath>$(DefaultQtVersion)\bin</QtToolsPath>
</PropertyGroup>
这是在该文件中打开 Project 标记之后添加的。
正如@cbuchart 提到的那样,某些事情可能已经改变。我没有做注册表的想法;但添加了这些行。如果需要,我认为可以将它们添加到在 Qt.props 之前导入的不同文件中。
现在这个“Qt5.15.0\msvc2019_64”是什么;您需要安装 Qt 的计算机中的工具、包括库才能构建(如果您的构建需要运行可执行文件(即测试),还需要 DLL)。这可能是很多文件,因此如果您知道自己在做什么,可以减少一些文件。将这些放入它自己的子模块或其他东西中可能是有意义的。
之后它应该uic/moc 文件并最终构建(并运行)。