Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. windeployqt result gives error "procedure entry point not found" [translated]

windeployqt result gives error "procedure entry point not found" [translated]

Scheduled Pinned Locked Moved Solved Installation and Deployment
5 Posts 3 Posters 2.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SeDiS Offline
    SeDiS Offline
    SeDi
    wrote on last edited by
    #1

    Hi,
    I have a 64bit Win 10 Machine with Qt 5.14.1 and mingw73_64.
    I've done the following steps:

    • I compile/run program in release mode with kit "Desktop Qt 5.14.1 MinGW 64 bit". Runs fine.
    • I create a folder C:\DeploymentDIS and copy my "Containment.exe" into it
    • the .exe is the only file in this folder
    • I open a (not elevated) console with Win+R / "cmd" / enter.
    • I cd to "C:\Qt\5.14.1\mingw73_64\bin>"

    My qml files are located in a folder named "C:\Users\SeDi\cpp\Containment" (alongside with my c++ sources).

    Now I call

     C:\Qt\5.14.1\mingw73_64\bin>windeployqt.exe --qmldir C:\Users\SeDi\cpp\Containment  --qmlimport c:\qt\5.14.1\mingw73_64\qml\ c:\DeploymentDIS\Containment.exe
    

    The windeployqt.exe job is being done without errors, but when I doubleclick the Containment.exe, I get the error message [translated from German]:

    Procedure entry point '_ZdaPvy' was not found in the DLL 'C:\DeploymentDIS\Qt5Qml.dll'.
    

    plus several more (same point not found in Qt5Gui.dll, Qt5Network.dll, Qt5Quick.dll). The result is the same without defining a qmlimport path

    I figured that this might have to do with some sort of paths problem, like the docs suggest. My path is (copied from echo %path%):

    C:\Qt\5.14.1\mingw73_64\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0\; C:\StrawberryPerl\c\bin;C:\StrawberryPerl\perl\site\bin;C:\StrawberryPerl\perl\bin;C:\Program Files\Git\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Smart Projects\IsoBuster;C:\Program Files\CMake\bin;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Gpg4win\..\GnuPG\bin;C:\Qt\5.14.1\mingw73_64\bin;C:\Users\SeDi\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Dr. Memory\bin\;C:\Program Files (x86)\FAHClient;
    

    I have tried to manually replace those dlls by those from C:\Qt\5.14.1\mingw73_64\bin, but they are (as they should be) identical.

    Do I use the tool totally wrong or miss something more subtle?

    I have used it successfully before, but I can't see what I'm doing wrong this time.

    Any help or idea is gratefully appreciated - I am lost!

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by sierdzio
      #2

      Try updating to Qt 5.14.2, maybe it is some Qt issue and has been fixed?

      And another thing, although it should not have any influence: try running windeployqt from your deployment dir, not from Qt's bin directory.

      (Z(:^

      1 Reply Last reply
      1
      • SeDiS Offline
        SeDiS Offline
        SeDi
        wrote on last edited by
        #3

        Thanks. sierdizio, hi everybody!

        I've updated to the current 15.0, but to no avail. I've also started the process from within the target directory, but experienced the same problem.
        Current setup:

        • Kit:
        Desktop Qt 5.15.0 MinGW 64-bit, Release Build
        
        • Path info:
        C:\Users\SeDi>echo %path%
        C:\Qt\5.15.0\mingw81_64\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\StrawberryPerl\c\bin;C:\StrawberryPerl\perl\site\bin;C:\StrawberryPerl\perl\bin;C:\Program Files\Git\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Smart Projects\IsoBuster;C:\Program Files\CMake\bin;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Gpg4win\..\GnuPG\bin;C:\Qt\5.15.0\mingw81_64\bin;C:\Users\SeDi\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Dr. Memory\bin\;C:\Program Files (x86)\FAHClient;
        
        • Call:
        C:\DeploymentDIS2>c:\Qt\5.15.0\mingw81_64\bin\windeployqt.exe --qmldir c:\Users\SeDi\cpp\Containment@Gitlab\dynamicinfectionsimulation\src Containment.exe
        

        Now windeployqt runs smoothly, no visible errors.
        But when I start the program, I get this error message, which is German for "Procedure entry point [...] in DLL [...] hasn't been found." em.png
        Clicking ok, the same message pops up for

        • Qt5QmlModels.dll
        • Containment.exe
        • Qt5Network.dll
          (each time with the same address "_ZdaPvy")

        The Deployment directory has these files: deployDir.png

        I have then decided to try and copy all those dlls manually over from C:\Qt\5.15.0\mingw81_64\bin (except for libgcc_s_sjlj-1.dll which isn't there) into my deploy dir, which is then looking this way (note the different dates and sometimes different size!)
        deployDir2.png

        Starting the exe now results in a new error message:
        em2.png

        I am running out of ideas.

        1 Reply Last reply
        0
        • hskoglundH Offline
          hskoglundH Offline
          hskoglund
          wrote on last edited by
          #4

          It looks like windeployqt picks up some other Qt flavor from you PATH settings.

          Instead of using Win+R and typing CMD to launch a CMD window for running windeployqt, try finding (and starting) the CMD shortcut in the Start menu called 'Qt 5.15.0 MinGW ..."
          Then clean the that C:\DeploymentDIS directory and try running windeployqt again...

          1 Reply Last reply
          4
          • SeDiS Offline
            SeDiS Offline
            SeDi
            wrote on last edited by
            #5

            Thanks a million, @hskoglund !!
            That did the trick - I (quite obviously) wasn't aware at all that these CMD shortcuts existed. That also answers the question in the back of my head, how people who have to deliver multiple projects with differing Qt versions instead, get the job done without manually meddling with the %path% like I did so successlessly...

            Now, after literary years of bad luck with windeployqt it was so worth it to put new effort in this. I can't count the times where I'd copy half of Qt to the deploy dir, only to subsequently delete everything that I could without producing errors...

            Thank you very much, both of you. :-))

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved