在 Visual Studio 2019 中使用 Qt 时出错

Posted

技术标签:

【中文标题】在 Visual Studio 2019 中使用 Qt 时出错【英文标题】:Error while using Qt in Visual Studio 2019 【发布时间】:2019-12-13 16:27:02 【问题描述】:

我正在尝试在 Visual Studio 2019 中使用 Qt。我在 VS 中安装了扩展“Qt VS 工具”并添加了我的 Qt 路径。我在 VS 中创建了一个新的 Qt Gui 应用程序项目。在不更改任何内容的情况下,我得到了错误

  == Qt Visual Studio Tools version 2.4.2

   Initialized in: 14169,6 msecs
   Main (UI) thread: 292,38 msecs

TestQT.vcxproj: background build FAILED!
TestQT.vcxproj: background build FAILED!
TestQT.vcxproj: background build FAILED!

作为 Qt VS 工具的输出,如果我尝试构建这个项目,我会得到 ​​p>

1>------ Rebuild All started: Project: TestQT, Configuration: Debug x64 ------
1>Reading Qt configuration (C:\Qt\5.14.0\msvc2017_64\bin\qmake.exe)
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018: The "GetVarsFromMakefile" task failed unexpectedly.
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018: System.ArgumentException: An item with the same key has already been added.
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018:    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018:    at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018:    at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018:    at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018:    at InlineCode.GetVarsFromMakefile.Execute() in c:\Users\tom\AppData\Local\Temp\2zkteh3y.0.cs:line 71
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
1>C:\Users\tom\AppData\Local\QtMsBuild\qt_vars.targets(246,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
1>Done building project "TestQT.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

对于这个新手问题,我很抱歉,但我已经搜索了几个小时......

【问题讨论】:

Qt 5.14.0 昨天发布了,所以这个扩展可能还不支持。您可以尝试安装旧的 Qt 版本(例如5.12.6)并检查它是否有效 哦,这就是解决方案。谢谢你:) 太棒了,不客气 【参考方案1】:

从https://download.qt.io/development_releases/vsaddin/2.4.2/ 安装 rev.09 版本的扩展如果您想了解更多信息https://bugreports.qt.io/browse/QTVSADDINBUG-722,这是 cmets 中的错误报告和解决方案

【讨论】:

【参考方案2】:

牧师。 14 解决了这个问题。我可以在 VS2019 中使用 5.14

【讨论】:

我仍然面临这个问题,报告错误:-| bugreports.qt.io/browse/QTVSADDINBUG-759

以上是关于在 Visual Studio 2019 中使用 Qt 时出错的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017工程在Visual Studio 2019打开碰到的问题

在 Visual Studio 2019 中使用 Qt 时出错

如何在 Visual Studio 2019 中使用 C#10

如何在 Visual Studio 2019 中使用 CppFlow 库?

在 Visual Studio 2019 中使用新项目创建 Git 存储库

visualstudio的窗体设计中led在哪里