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

∥☆過路亽.° 提交于 2019-11-30 04:53:57

问题


My development box is Windows 7 x64. I have both 32-bit and 64-bit versions of Qt 4.7.4 built on my box. When I configure my app to use the 32-bit version of Qt, it runs fine in Qt Creator (ctrl-R), but when I try to double-click the exe in Windows Explorer (or run from cmd prompt), I get:

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

If I switch my configuration to 64-bit Qt and build it, I can double-click the exe and it runs fine.

What do I need to do to be able to run the exe compiled with 32-bit Qt?


回答1:


My somewhat educated guess would be that your application can simply not find the required DLLs. To be sure, you could open your exe in Dependency Walker to see if it finds all the necessary DLLs. If nothing seems amiss at first, then use Dependency Walker to profile the application. This might reveal some missing dependencies loaded at run-time.

If this relates to your Qt DLLs, make sure that there is either an appropriate entry within your PATH environment variable, or that the required DLLs are included in your EXE's directory (though the latter might not be the best choice on a development machine).




回答2:


Simply add the three missing dll files:

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

to the folder of appl.exe . For my system, that would be into the directory C:\Users\H\Documents\build-AQtest01v4-Desktop_Qt_5_11_0_MSVC2017_64bit-Debug. Copying those libraries should make your application work. On my system those dlls can be found in C:\Qt\Tools\mingw492_32\bin.




回答3:


I have faced same issue. First I copied required .dll files in release folder where my .exe file exists. Then I copied extra libstdc++-6.dll file. Program started working after this.



来源:https://stackoverflow.com/questions/12099117/32-bit-qt-application-on-win-7-x64-wont-run-but-runs-fine-from-qt-creator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!