在 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 ==========
对于这个新手问题,我很抱歉,但我已经搜索了几个小时......
【问题讨论】:
Qt5.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 库?