【问题标题】:Qt5Cored.dll missing when trying to run application尝试运行应用程序时缺少 Qt5Cored.dll
【发布时间】:2014-04-09 11:02:30
【问题描述】:

我正在使用 Visual Studio 2013 Ultimate

我的Qt版本是5.2.1

我正在使用我从here 获得的 VS2013 特定版本。

现在,我做了什么:

  1. 从 Visual Studio 创建了一个新的 Qt 应用程序。
  2. 输入我的逻辑和代码。
  3. 在 x64 调试模式下成功构建。
  4. 成功运行应用程序。

到目前为止一切都很好。

现在的问题:

  1. 我重新启动 Visual Studio 并加载项目。
  2. 已成功构建(在 x64 调试中)。
  3. 现在,我无法运行它。我得到了错误:

    The program can't start because Qt5Cored.dll is missing from your computer.
    Try reinstalling the program to fix this problem.
    

它在我第一次创建应用程序时运行。现在它不会运行了。

我尝试模拟问题,但每次都会发生这种情况。首次运行,Visual Studio 重启后不再运行。

请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 尝试将 $QTDIR\bin 添加到您的库路径中。您还可以将所需的 dll 复制到您的可执行文件工作目录中。
  • 试过了,但没用。我的问题是,如果它第一次工作,为什么它停止工作?我没有改变任何东西。
  • IDE 最终没有正确保存运行时环境。
  • 是的.. 但是我如何确保不会再次发生这种情况?
  • 好的,我发现在Debugging->Environment变量中,缺少了宏$(QTDIR)。这就是为什么它没有获得所需的 dll。如何在那里添加宏?目前我一直保持完整的路径。

标签: c++ qt visual-studio-2013


【解决方案1】:

从项目属性你必须去调试 -> 环境 -> 并编写 PATH=qt5 dll 路径或者你必须将 dll 放在 exe 旁边。

【讨论】:

    【解决方案2】:

    第一次进入调试模式。可能在那种情况下使用了Qt5Cored.dll(名称中带有d)。也许在第二个构建中,您在发布模式下构建,并且由于某种原因在 PATH 中找不到 Qt5Core.dll

    【讨论】:

    • 请阅读。当我第二次尝试时,它要求Qt5Cored.dll。意味着我只处于调试模式!这里的解决方案是什么?
    • 在你的帖子中它实际上是 Qt5Core.dll ;P 然而,两者都位于同一个目录中
    • 是的..我的错误..:D对不起..仅在调试中构建。
    【解决方案3】:

    这就是我所做的,它奏效了:D
    首先:确保您构建的是发布版本而不是调试版本 第二:当您将 qt5core.dll 复制到程序的同一路径时,它要求提供其他 *.dll 文件,因此我将程序放在包含所有 dll 的文件夹中:D 这是 C:\Qt\Qt5.7.0\5.7\mingw53_32\bin 或根据您的安装..效果很好 无论如何,这个文件夹(我认为)包含您的程序可能需要的所有 DLL 库 所以要知道你到底需要什么,试着在另一个位置多次启动你的程序,每次你都会知道根据你的编程需要另一个 dll .. 该方法有效,但我认为我们可能需要挖掘更多的解决方案:)

    【讨论】:

    • 使用的是Qt creator,开源版本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 2021-07-02
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多