没有QtCreator,Exe文件无法运行

没有QtCreator,Exe文件无法运行,qt,qml,qt5,qt-quick,qtquick2,Qt,Qml,Qt5,Qt Quick,Qtquick2,我安装了适用于Windows 32位(MinGW 4.7823 MB)的Qt 5.0.1 然后我创建了简单的Quick2应用程序并对其进行了编译。应用程序位于its文件夹中,应用程序从QtCreator运行。我想在没有QtCreator的情况下运行这个exe文件。为此,我从C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin复制文件: Qt5Core.dll icuin49.dll libgcc_s_sjlj-1.dll libwinpthread-1.dll libGLESv2

我安装了适用于Windows 32位(MinGW 4.7823 MB)的Qt 5.0.1

然后我创建了简单的Quick2应用程序并对其进行了编译。应用程序位于its文件夹中,应用程序从QtCreator运行。我想在没有QtCreator的情况下运行这个exe文件。为此,我从C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin复制文件:

  • Qt5Core.dll
  • icuin49.dll
  • libgcc_s_sjlj-1.dll
  • libwinpthread-1.dll
  • libGLESv2.dll
  • libstdc++-6.dll
  • qminimal.dll
  • Qt5Gui.dll
  • Qt5Network.dll
  • Qt5Qml.dll
  • Qt5Quick.dll
  • Qt5V8.dll
  • qwindows.dll
  • 然后我得到一个错误:

    托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福托福

    翻译:

    在库DLL icuuc49.DLL中找不到过程入口点\u ZN6icu\u 4910CharString15GetAppendBuffereIrir10UserCode

    如果我将exe文件复制到文件夹C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin(其中包含所有dll),程序将运行,但不会显示任何内容

    如果将exe文件复制到文件夹C:\Qt\Qt5.0.1\Tools\QtCreator\bin(其中包含所有dll),则程序不会运行

    怎么办?将程序运行到何处以及运行哪些库

    已解决。来自C:\Qt\Qt5.0.1\5.0.1\mingw47\u 32\bin的库的最终列表

  • icuin49.dll
  • icuuc49.dll
  • libEGL.dll
  • libgcc_s_sjlj-1.dll
  • libGLESv2.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll
  • Qt5Core.dll
  • Qt5Gui.dll
  • Qt5Network.dll
  • Qt5Qml.dll
  • Qt5Quick.dll
  • Qt5V8.dll

  • 我忘了添加包含qml文件的文件夹。

    将可执行文件放在中性目录中,就像桌面上新创建的目录一样。然后跑。它将向您显示缺失库的列表。对于start
    Qt5Core.dll
    libgcc_s_sjlj-1.dll
    ,您指定的将是缺少的一个。你必须在你的系统上找到它们,然后一个接一个地复制到这个目录。大部分丢失的文件将位于您指定的目录中(
    C:\Qt\Qt5.0.1\5.0.1\mingw47\u 32\bin
    )。如果找不到其他问题,请使用列表编辑问题

    注意:

    一般情况下丢失的文件类型:

    • Qt库。如果Qt被编译为静态的,那么它们不应该出现
    • Misc库Qt依赖于:例如OpenSSL。如果Qt和此库都是静态的,则不显示
    • 编译器库:例如,OP的gcc
      libgcc_s_sjlj
      。它们通常是动态的,如果不在库搜索路径中,则需要复制

      • 不要担心丢失的dll文件。 将.exe文件放入以下路径的文件夹:“C:\Qt\Qt5.0.1\5.0.1\mingw47\u 32\bin”


        现在可以运行.exe文件了。它工作正常。

        在路径中添加“C:\Qt\Qt5.0.1\5.0.1\mingw47\u 32\bin”。然后应用程序应该可以工作。

        我更新了使用dll的列表,但程序在运行时出现问题。Dependency walker显示了我描述的错误:当我从C:\Qt\Qt5.0.1\5.0.1\mingw47\u 32\bin和C:\Qt\Qt5.0.1\5.0.1\mingw47\u 32\platforms程序复制所有dll时,会运行\u ZN6icu\u 4910Charstring15GetAppendBuffereiir10UserCode,但没有显示任何内容。非常感谢!Dependency walker帮助找到了dll。我忘了添加包含qml文件的文件夹。库的最终列表:icuin49.dll、icuuc49.dll、libEGL.dll、libgcc_s_sjlj-1.dll、libGLESv2.dll、libstdc++-6.dll、libwinpthread-1.dll、Qt5Core.dll、Qt5Gui.dll、Qt5Network.dll、Qt5Qml.dll、Qt5Quick.dll、Qt5V8.dll。Qt库还有一个替代依赖性walker的方法。它叫windeployqt,你可以在QTDIR/bin/windeployqt找到它。这是在本页底部解释:我不会把其他应用程序的bin文件夹中的应用程序。。。对于测试来说,是的,但这并不是问题的解决方案。虽然可以在那里运行应用程序,但绝对不可能在每个可执行文件中都发布Qt发行版。如上所述,正确的方法是解决所有依赖项。除非您只是想在自己的计算机上运行此操作(并且不想出于任何原因单击Creator中的“执行”按钮),否则不要这样做。这无助于制造一个可部署的。哦,天哪。明天的计算机科学考试,由于这个该死的问题,我想我永远也考不好了。解决了的!我对你感激不尽!!!!!!此问题在以下链接中解决。糟糕的主意。如果您试图在Creator之外启动此功能,那么您可能正在尝试制作/测试可部署副本。