在 Visual Studio 2017 社区版上编译 Qt 5.8 时出现错误 C3615

Posted

技术标签:

【中文标题】在 Visual Studio 2017 社区版上编译 Qt 5.8 时出现错误 C3615【英文标题】:Error C3615 with Qt 5.8 while compiling on Visual Studio 2017 Community edition 【发布时间】:2017-09-15 18:47:46 【问题描述】:

今天我用 msvc2015 https://download.qt.io/official_releases/qt/5.8/5.8.0/ 安装了 qt 5.8 我也显然在 VS 上下载并安装了 qt 工具,到目前为止一切正常。为了查看是否一切正常,我尝试使用 Visual C++ ---> Qt 打开一个新项目,然后选择 Qt GUI 应用程序。当我尝试编译和运行项目时,我在 qalgorithm.h 标头上收到不同的错误消息,显示错误 C3615:constexpr 函数无法返回 const 值。

这是什么意思?

【问题讨论】:

看看这个帖子:bugreports.qt.io/browse/QTBUG-59575 谢谢,我尝试将 qalgorithm.h 文件替换为链接中的文件。 C3615 错误消失了,但它仍然无法编译并给我错误 你能发布新的错误吗? 对不起,如果我花了太长时间来回答。它给了我 4 个错误 LNK2038 LNK2019 LNK219 LNK1120 l。它还给了我一个警告:...\QtGuiApplication.qrc 中没有资源 【参考方案1】:

您的 qalgorithm.h 文件可能有问题。看看this post。此外,您可能需要考虑升级到可能已解决此问题的 Qt 5.9。

LNK2038:根据MS docs,这表示符号不匹配。推荐的解决方案是进行干净的构建。在 Visual Studio 解决方案资源管理器中,右键单击您的解决方案,在弹出菜单中选择“清理解决方案”。这将删除旧的编译文件。然后右键单击您的解决方案并在弹出菜单中选择重建解决方案。这将重建一切。

LNK2019 & LNK1120:这意味着它可以找到符号或引用的定义。上面的干净重建可能会解决这个问题。如果没有,您需要确保已包含对解决方案中每个项目所需的所有 dll 的引用。

【讨论】:

以上是关于在 Visual Studio 2017 社区版上编译 Qt 5.8 时出现错误 C3615的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 社区 2017 cl.exe

如何在 Visual Studio 2017 社区版的 IIS Express 中使用 php

Visual Studio C++ 社区 2017 中的构建错误

在 Visual Studio 2017 社区版上编译时出现错误 Qt 5.8

突然关机后无法安装 Visual Studio 2017 社区版

visual studio 2017社区构建失败,没有显示任何错误