在Win 7 X64的32位Qt应用程序将无法运行,但是从Qt Creator中运行良好?(32-b

2019-06-27 07:19发布

我的开发是Windows 7的64位。 我的Qt 4.7.4的32位和64位版本建立在我的箱子。 如果我在配置应用程序来使用Qt的32位版本,它运行在Qt Creator中(按Ctrl-R)的罚款,但是当我尝试双击Windows Explorer中的exe文件(或命令提示符运行),我得到:

---------------------------
RenameTemplatePreviewFiles_Qt_win.exe - Application Error
---------------------------
The application was unable to start correctly (0xc000007b). 
Click OK to close the application. 
---------------------------
OK   
---------------------------

如果将我的配置为64位Qt和构建它,我可以双击exe文件,并运行良好。

我需要做什么做能够运行32位的Qt编译的exe?

Answer 1:

我有些受过教育的猜测是,您的应用程序根本无法找到所需的DLL。 可以肯定,你可以打开你的EXE 的Dependency Walker ,看它是否找到了所有必要的DLL。 如果没有在第一似乎不妥,那么使用的Dependency Walker分析的应用程序。 这可能显示在运行时加载一些缺少的依赖关系。

如果这涉及到你的Qt的DLL,确保有你的PATH环境变量中无论是适当的条目,或者说,所需的DLL包含在你的EXE的目录(尽管后者可能不是一个开发机器上的最佳选择)。



Answer 2:

只需添加三名失踪的dll文件:

  • libwinpthread-1.DLL
  • 的libstdc ++ - 6.dll
  • libgcc_s_dw2-1.dll

到appl.exe的文件夹中。 对于我的系统,这将是到目录C:\Users\H\Documents\build-AQtest01v4-Desktop_Qt_5_11_0_MSVC2017_64bit-Debug 。 复制这些库应该让你的应用程序的工作。 在我的系统的这些dll中可以找到C:\Qt\Tools\mingw492_32\bin



Answer 3:

我面临同样的问题。 首先我复制需要在我的.exe文件存在release文件夹.dll文件。 然后我复制额外的libstdc ++ - 6.dll文件。 节目开始后,这方面的工作。



文章来源: 32-bit Qt application on win 7 x64 won't run, but runs fine from Qt Creator?