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

后端 未结 4 1358
甜味超标
甜味超标 2021-01-05 16:42

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 f

相关标签:
4条回答
  • 2021-01-05 17:08

    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.

    0 讨论(0)
  • 2021-01-05 17:14

    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).

    0 讨论(0)
  • 2021-01-05 17:21

    I did run into the same problem and would like to share my solution.

    When I tried deploying the 32-bit version, running windeployqt.exe copied over the wrong files for the 32-bit executable as the PATH was set to the 64-bit bin folder (D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin).

    When I set the PATH to the 32 bit folder (D:\Qt\Qt5.14.2\5.14.2\msvc2017\bin) and run windeployqt.exe again, the correct files were copied for deployment and everything worked.

    Gary

    0 讨论(0)
  • 2021-01-05 17:22

    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.

    0 讨论(0)
提交回复
热议问题