C++ 尝试运行应用程序时缺少QT5corder.dll

C++ 尝试运行应用程序时缺少QT5corder.dll,c++,qt,visual-studio-2013,C++,Qt,Visual Studio 2013,我正在使用Visual Studio 2013 Ultimate 我的Qt版本是5.2.1 我正在使用我从中获得的VS2013的特定构建 现在,我所做的是: 从Visual Studio创建了一个新的Qt应用程序 输入我的逻辑和代码 在x64调试模式下成功构建了它 已成功运行应用程序 到目前为止一切都很好 现在的问题是: 我重新启动Visual Studio并加载项目 它已成功构建(在x64调试中) 现在,我无法运行它。我得到一个错误: The program can't start becau

我正在使用Visual Studio 2013 Ultimate

我的Qt版本是5.2.1

我正在使用我从中获得的VS2013的特定构建

现在,我所做的是:

  • 从Visual Studio创建了一个新的Qt应用程序
  • 输入我的逻辑和代码
  • 在x64调试模式下成功构建了它
  • 已成功运行应用程序
  • 到目前为止一切都很好

    现在的问题是:

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

    The program can't start because Qt5Cored.dll is missing from your computer.
    Try reinstalling the program to fix this problem.
    
  • 它在我第一次创建应用程序时运行。现在它不会跑了

    我试着模拟这个问题,每次都是这样。第一次运行,在Visual Studio重新启动后不运行

    请帮我解决这个问题


    提前感谢。

    第一次使用调试模式时。可能在这种情况下使用了
    qt5corder.dll
    (名称中带有
    d
    )。可能在第二次构建中,您在发布模式下构建,由于某种原因,路径中找不到
    Qt5Core.dll

    从项目属性中,您必须转到调试->环境->并写入路径=qt5 dll路径,或者您必须将dll放在exe旁边。

    以下是我所做的,它可以工作:D
    第一:确保生成的是发布版本,而不是调试版本 第二:当您将qt5core.dll复制到程序的同一路径时,它会要求提供其他*.dll文件,因此我将程序放在包含所有dll的文件夹中:D 那是 C:\Qt\Qt5.7.0\5.7\mingw53\u 32\bin 或者根据你的安装情况,它工作得很好 这个文件夹(如我所想)以任何方式包含程序可能需要的所有DLL库 所以,要想知道你到底需要什么,试着在另一个位置启动你的程序很多次,每次你都会知道根据你的编程需要另一个dll。。
    这种方法很管用,但我认为我们可能需要寻找一种更有效的解决方案:)

    尝试将$QTDIR\bin添加到库路径中。您还可以将所需的DLL复制到您的可执行文件工作目录。尝试了,但没有工作。我的问题是,如果它第一次起作用,为什么它会停止起作用?我没有更改任何内容。最终IDE没有正确保存运行时环境。是的。。但是如何确保不会再次发生这种情况呢?好的,我发现在调试->环境变量中,宏
    $(QTDIR)
    丢失了。这就是为什么它没有得到所需的DLL。如何在那里添加宏?目前我保留了完整路径。请阅读。当我第二次尝试时,它正在请求
    qt5corder.dll
    。意味着我只处于调试模式!这里的解决方案是什么?在你的帖子中,它实际上是说Qt5Core.dll;P然而,两者都位于同一个目录下是的。。我的错误I’对不起。。仅在调试中生成。该版本使用Qt creator,开放源代码版本