Results 1 to 4 of 4

Thread: Windows requires DLL not listed by windeployqt

  1. #1
    Join Date
    Nov 2020
    Posts
    3
    Qt products
    Qt5
    Platforms
    Windows

    Default Windows requires DLL not listed by windeployqt

    Hello guys, I have my GUI for scanning purposes that works perfectly fine in QT Creator.
    I use Qt 5.12.4 and mingw73_64 as compiler.
    It is now times to create the installer with Inno Setup Compiler.

    In order to know which DLL to include in my installer I run this command:
    Qt Code:
    1. E:\BMS\Qt\5.12.4\mingw73_64\bin>windeployqt.exe --no-translations --list mapping D:\Svn\Scanner\build-******Scan-Qt_5_12_4_mingw73_64-Release\release
    To copy to clipboard, switch view to plain text mode 

    I get this output:
    Qt Code:
    1. "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Core.dll" "Qt5Core.dll"
    2. "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Gui.dll" "Qt5Gui.dll"
    3. "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Multimedia.dll" "Qt5Multimedia.dll"
    4. "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Network.dll" "Qt5Network.dll"
    5. "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Svg.dll" "Qt5Svg.dll"
    6. "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Widgets.dll" "Qt5Widgets.dll"
    7. "E:\BMS\Qt\5.12.4\mingw73_64\bin\libGLESV2.dll" "libGLESV2.dll"
    8. "E:\BMS\Qt\5.12.4\mingw73_64\bin\libEGL.dll" "libEGL.dll"
    9. "E:\BMS\Qt\5.12.4\mingw73_64\bin\D3Dcompiler_47.dll" "D3Dcompiler_47.dll"
    10. "E:\BMS\Qt\5.12.4\mingw73_64\bin\opengl32sw.dll" "opengl32sw.dll"
    11. "E:\BMS\Qt\Tools\mingw530_32\bin\libgcc_s_dw2-1.dll" "libgcc_s_dw2-1.dll"
    12. "E:\BMS\Qt\Tools\mingw530_32\bin\libstdc++-6.dll" "libstdc++-6.dll"
    13. "E:\BMS\Qt\Tools\mingw530_32\bin\libwinpthread-1.dll" "libwinpthread-1.dll"
    14. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\audio\qtaudio_windows.dll" "audio\qtaudio_windows.dll"
    15. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\bearer\qgenericbearer.dll" "bearer\qgenericbearer.dll"
    16. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\iconengines\qsvgicon.dll" "iconengines\qsvgicon.dll"
    17. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qgif.dll" "imageformats\qgif.dll"
    18. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qicns.dll" "imageformats\qicns.dll"
    19. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qico.dll" "imageformats\qico.dll"
    20. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qjpeg.dll" "imageformats\qjpeg.dll"
    21. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qsvg.dll" "imageformats\qsvg.dll"
    22. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qtga.dll" "imageformats\qtga.dll"
    23. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qtiff.dll" "imageformats\qtiff.dll"
    24. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qwbmp.dll" "imageformats\qwbmp.dll"
    25. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qwebp.dll" "imageformats\qwebp.dll"
    26. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\mediaservice\dsengine.dll" "mediaservice\dsengine.dll"
    27. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\mediaservice\qtmedia_audioengine.dll" "mediaservice\qtmedia_audioengine.dll"
    28. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\platforms\qwindows.dll" "platforms\qwindows.dll"
    29. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\playlistformats\qtmultimedia_m3u.dll" "playlistformats\qtmultimedia_m3u.dll"
    30. "E:\BMS\Qt\5.12.4\mingw73_64\plugins\styles\qwindowsvistastyle.dll" "styles\qwindowsvistastyle.dll"
    To copy to clipboard, switch view to plain text mode 


    Then I have to add SSL 64 bits dll. I am not too sure the ones I have to include so I put all of them, the 6 that are in my OpenSSL 1.1.1h bin folder:
    Qt Code:
    1. capi.dll
    2. dasync.dll
    3. libcrypto-1_1-x64.dll
    4. libssl-1_1-x64.dll
    5. ossltest.dll
    6. padlock.dll
    To copy to clipboard, switch view to plain text mode 

    My installer looks ready. First run I get an error message saying that the software cannot be run cause the library "libgcc_s_seh-1.dll" is missing.

    So I added this dll in my Inno Setup Compiler script:
    Qt Code:
    1. [Files]
    2. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Core.dll"; DestDir: "{app}\"; Flags: ignoreversion
    3. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Gui.dll"; DestDir: "{app}\"; Flags: ignoreversion
    4. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Multimedia.dll"; DestDir: "{app}\"; Flags: ignoreversion
    5. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Network.dll"; DestDir: "{app}\"; Flags: ignoreversion
    6. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Svg.dll"; DestDir: "{app}\"; Flags: ignoreversion
    7. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\Qt5Widgets.dll"; DestDir: "{app}\"; Flags: ignoreversion
    8. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\libGLESv2.dll"; DestDir: "{app}\"; Flags: ignoreversion
    9. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\libEGL.dll"; DestDir: "{app}\"; Flags: ignoreversion
    10. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\D3DCompiler_47.dll"; DestDir: "{app}\"; Flags: ignoreversion
    11. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\opengl32sw.dll"; DestDir: "{app}\"; Flags: ignoreversion
    12. ; the next one is not listed by windeployqt.exe
    13. Source: "E:\BMS\Qt\5.12.4\mingw73_64\bin\libgcc_s_seh-1.dll"; DestDir: "{app}"; Flags: ignoreversion
    14.  
    15. Source: "E:\BMS\Qt\Tools\mingw530_32\bin\libgcc_s_dw2-1.dll"; DestDir: "{app}\"; Flags: ignoreversion
    16. Source: "E:\BMS\Qt\Tools\mingw530_32\bin\libstdc++-6.dll"; DestDir: "{app}\"; Flags: ignoreversion
    17. Source: "E:\BMS\Qt\Tools\mingw530_32\bin\libwinpthread-1.dll"; DestDir: "{app}\"; Flags: ignoreversion
    18.  
    19. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\audio\qtaudio_windows.dll"; DestDir: "{app}\audio"; Flags: ignoreversion
    20. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\bearer\qgenericbearer.dll"; DestDir: "{app}\bearer"; Flags: ignoreversion
    21. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\iconengines\qsvgicon.dll"; DestDir: "{app}\iconengines"; Flags: ignoreversion
    22. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qgif.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    23. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qicns.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    24. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qico.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    25. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qjpeg.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    26. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qsvg.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    27. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qtga.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    28. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qtiff.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    29. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qwbmp.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    30. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\imageformats\qwebp.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
    31. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\mediaservice\dsengine.dll"; DestDir: "{app}\mediaservice"; Flags: ignoreversion
    32. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\mediaservice\qtmedia_audioengine.dll"; DestDir: "{app}\mediaservice"; Flags: ignoreversion
    33. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\platforms\qwindows.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion
    34. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\playlistformats\qtmultimedia_m3u.dll"; DestDir: "{app}\playlistformats"; Flags: ignoreversion
    35. Source: "E:\BMS\Qt\5.12.4\mingw73_64\plugins\styles\qwindowsvistastyle.dll"; DestDir: "{app}\styles"; Flags: ignoreversion
    36.  
    37. Source: "D:\Svn\Scanner\build-******Scan-Qt_5_12_4_mingw73_64-Release\release\**********_Scanner.exe"; DestDir: "{app}\"; Flags: ignoreversion
    38.  
    39. Source: "E:\BMS\OpenSSL-Win64\bin\capi.dll"; DestDir: "{app}"; Flags: ignoreversion
    40. Source: "E:\BMS\OpenSSL-Win64\bin\dasync.dll"; DestDir: "{app}"; Flags: ignoreversion
    41. Source: "E:\BMS\OpenSSL-Win64\bin\libcrypto-1_1-x64.dll"; DestDir: "{app}"; Flags: ignoreversion
    42. Source: "E:\BMS\OpenSSL-Win64\bin\libssl-1_1-x64.dll"; DestDir: "{app}"; Flags: ignoreversion
    43. Source: "E:\BMS\OpenSSL-Win64\bin\ossltest.dll"; DestDir: "{app}"; Flags: ignoreversion
    44. Source: "E:\BMS\OpenSSL-Win64\bin\padlock.dll"; DestDir: "{app}"; Flags: ignoreversion
    To copy to clipboard, switch view to plain text mode 

    Then I got an error saying that the software cannot be started correctly. Like an instant crash while it is working fine in Qt Creator. So I have few questions:

    1. Why windeployqt is listing 3 dll from "mingw530_32"?
    2. Why windeployqt does not list "mingw73_64\bin\libgcc_s_seh-1.dll"?
    3. Could this explain why the software cannot start correctly?
    4. Is there a way to know which dll from openSSL I am supposed to include?

    Thank you!

  2. #2
    Join Date
    Jan 2008
    Location
    Alameda, CA, USA
    Posts
    5,243
    Thanks
    303
    Thanked 866 Times in 853 Posts
    Qt products
    Qt5
    Platforms
    Windows

    Default Re: Windows requires DLL not listed by windeployqt

    Why windeployqt is listing 3 dll from "mingw530_32"?
    No idea. But if you are building a 64-bit distro, then you should be deploying 64-bit versions of these DLLs.
    Why windeployqt does not list "mingw73_64\bin\libgcc_s_seh-1.dll"?
    It is possible that some other DLL loads this dynamically (at runtime) so the dependency can't be discovered by windeployqt.
    Like an instant crash while it is working fine in Qt Creator.
    3. Could this explain why the software cannot start correctly?
    Usually an "instant crash" is because of a bug - an uninitialized variable, accessing an invalid memory address (a NULL pointer, or outside the bounds of an array), etc. The environment inside of Qt Creator is different from running the program standalone.
    <=== The Great Pumpkin says ===>
    Please use CODE tags when posting source code so it is more readable. Click "Go Advanced" and then the "#" icon to insert the tags. Paste your code between them.

  3. #3
    Join Date
    Nov 2020
    Posts
    3
    Qt products
    Qt5
    Platforms
    Windows

    Default Re: Windows requires DLL not listed by windeployqt

    For the 3 DLL listed in mingw530_32 I found "libstdc++-6.dll" and "libwinpthread-1.dll" in mingw730_64 so I use those one instead.
    However I cannot find a 64-bit version of "libgcc_s_dw2-1.dll". I remove this dll from the installer since it is a 32-bit version anyway.

    The software looks to work properly with those modifications.
    I still need to do more test in order to make sure that all the features are working despite the lack of "libgcc_s_dw2-1.dll".
    Is there a way to have an exhaustive list of all the dll that should be imported when building an installer or windeployqt is the only/best option?

    I was pretty sure that the instant crash was not due to a NULL pointer exception.
    The error message was saying that the software couldn't start properly. Usually when it is a NULL pointer it says something like "the software encountered an unexpected error and had to be closed" not that it can't even be started.

  4. #4
    Join Date
    Jan 2008
    Location
    Alameda, CA, USA
    Posts
    5,243
    Thanks
    303
    Thanked 866 Times in 853 Posts
    Qt products
    Qt5
    Platforms
    Windows

    Default Re: Windows requires DLL not listed by windeployqt

    The error message was saying that the software couldn't start properly.
    Then that points to a missing DLL. If the DLL can't be loaded, then the program can't run.
    <=== The Great Pumpkin says ===>
    Please use CODE tags when posting source code so it is more readable. Click "Go Advanced" and then the "#" icon to insert the tags. Paste your code between them.

Similar Threads

  1. DLL required by windows but not listed by windeployqt.exe
    By gaetan_tl in forum Installation and Deployment
    Replies: 0
    Last Post: 20th November 2020, 17:50
  2. Input text to be listed in listWidget?
    By csanyipal in forum Newbie
    Replies: 6
    Last Post: 20th September 2016, 10:35
  3. Replies: 2
    Last Post: 5th September 2016, 16:09
  4. QML Comboox listed items orientation
    By MarkoSan in forum Qt Quick
    Replies: 1
    Last Post: 1st October 2015, 14:48
  5. Logical Interfaces within Solaris not listed by all addresses
    By umitadelaide in forum Qt Programming
    Replies: 0
    Last Post: 17th October 2011, 11:05

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.