Problems with Open-Source Downloads read https://www.qt.io/blog/problem-with-open-source-downloads and https://forum.qt.io/post/638946

The procedure entry point renderSynchronous@QRenderAspectPrivate@Qt3DRender could not be located in the dynamic link library



  • I'm using Qt 5.11.2 and I'm using windeployqt.exe to deploy my application. The log of windeployqt.exe is shown below:

    Adding Qt5Svg for qsvgicon.dll
    Adding Qt53DAnimation for assimpsceneimport.dll
    Direct dependencies: Qt5Core Qt5Gui Qt5Qml Qt5Quick Qt5Widgets Qt53DCore Qt53DRender Qt53DInput Qt53DExtras
    All dependencies   : Qt5Concurrent Qt5Core Qt5Gamepad Qt5Gui Qt5Network Qt5Qml Qt5Quick Qt5Widgets Qt53DCore Qt53DRender Qt53DInput Qt53DExtras
    To be deployed     : Qt5Concurrent Qt5Core Qt5Gamepad Qt5Gui Qt5Network Qt5Qml Qt5Quick Qt5Svg Qt5Widgets Qt53DCore Qt53DRender Qt53DInput Qt53DAnimation Qt53DExtras
    Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set.
    Updating Qt53DLogic.dll.
    Updating Qt5Concurrent.dll.
    Updating Qt5Core.dll.
    Updating Qt5Gamepad.dll.
    Updating Qt5Gui.dll.
    Updating Qt5Network.dll.
    Updating Qt5Qml.dll.
    Updating Qt5Quick.dll.
    Updating Qt5Svg.dll.
    Updating Qt5Widgets.dll.
    Updating Qt53DCore.dll.
    Updating Qt53DRender.dll.
    Updating Qt53DInput.dll.
    Updating Qt53DAnimation.dll.
    Updating Qt53DExtras.dll.
    Updating libGLESV2.dll.
    Updating libEGL.dll.
    Updating D3Dcompiler_47.dll.
    Updating opengl32sw.dll.
    Patching Qt5Core.dll...
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/bearer.
    Updating qgenericbearer.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/gamepads.
    Updating xinputgamepad.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/geometryloaders.
    Updating defaultgeometryloader.dll.
    Updating gltfgeometryloader.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/iconengines.
    Updating qsvgicon.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/imageformats.
    Updating qgif.dll.
    Updating qicns.dll.
    Updating qico.dll.
    Updating qjpeg.dll.
    Updating qsvg.dll.
    Updating qtga.dll.
    Updating qtiff.dll.
    Updating qwbmp.dll.
    Updating qwebp.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/platforminputcontexts.
    Updating qtvirtualkeyboardplugin.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/platforms.
    Updating qwindows.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/qmltooling.
    Updating qmldbg_debugger.dll.
    Updating qmldbg_inspector.dll.
    Updating qmldbg_local.dll.
    Updating qmldbg_messages.dll.
    Updating qmldbg_native.dll.
    Updating qmldbg_nativedebugger.dll.
    Updating qmldbg_profiler.dll.
    Updating qmldbg_quickprofiler.dll.
    Updating qmldbg_server.dll.
    Updating qmldbg_tcp.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/renderplugins.
    Updating scene2d.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/scenegraph.
    Updating qsgd3d12backend.dll.
    Creating directory C:/Users/me/Documents/deploy-win10-milestone-5-stripped-trytofix/sceneparsers.
    Updating assimpsceneimport.dll.
    Updating gltfsceneexport.dll.
    Updating gltfsceneimport.dll.
    Creating C:\Users\me\Documents\deploy-win10-milestone-5-stripped-trytofix\translations...
    Creating qt_ar.qm...
    Creating qt_bg.qm...
    Creating qt_ca.qm...
    Creating qt_cs.qm...
    Creating qt_da.qm...
    Creating qt_de.qm...
    Creating qt_en.qm...
    Creating qt_es.qm...
    Creating qt_fi.qm...
    Creating qt_fr.qm...
    Creating qt_gd.qm...
    Creating qt_he.qm...
    Creating qt_hu.qm...
    Creating qt_it.qm...
    Creating qt_ja.qm...
    Creating qt_ko.qm...
    Creating qt_lv.qm...
    Creating qt_pl.qm...
    Creating qt_ru.qm...
    Creating qt_sk.qm...
    Creating qt_uk.qm...
    

    However, when I run Qt my application, I receive this error:

    The procedure entry point ... renderSynchronous@QRenderAspectPrivate@Qt3DRender ... could not be located in the dynamic link library

    Looks like windeployqt.exe doesn't copy over all the dependencies. Specifically, there is a problem with Qt3DRender::QRenderAspectPrivate::renderSynchronous which I'm using in my code like this:

    #include <Qt3DRender/private/qrenderaspect_p.h>
    
    Qt3DRender::QRenderAspect *m_renderAspect;
    
     static_cast<Qt3DRender::QRenderAspectPrivate *>(
                        Qt3DRender::QRenderAspectPrivate::get(m_renderAspect))
                    ->renderInitialize(saver.context());
    
     static_cast<Qt3DRender::QRenderAspectPrivate *>(
                        Qt3DRender::QRenderAspectPrivate::get(m_renderAspect))->renderSynchronous();
    
     static_cast<Qt3DRender::QRenderAspectPrivate *>
                (Qt3DRender::QRenderAspectPrivate::get(m_renderAspect))->renderShutdown();
    

    Does anybody know what DLL is missing for Qt3DRender::QRenderAspectPrivate::renderSynchronous and why windeployqt.exe doesn't copy it over?


  • Lifetime Qt Champion

    Hi,

    IIRC, it should be in Qt3DRender .

    Did you check with Dependency Walker whether your app can find all the libraries it uses ?



  • @SGaist Hi, I didn't check with dependency walker yet. I'll do it. What I did so far, was to copy over all Qt DLLs according to link below. Following this link instructions, my application works fine.:

    https://wiki.qt.io/Deploy_an_Application_on_Windows


    Actually, windeployqt.exe copies Qt3DRender DLL over into my application folder. So, if Qt3DRender::QRenderAspectPrivate::renderSynchronous is inside Qt3DRender DLL, my application should work. But for some reason, it doesn't. I'm not sure why.


  • Lifetime Qt Champion

    Did you compare the list of dlls that you have with windeployqt and the version you have running ?



  • @SGaist Thanks. According to my research, version mis-match was one possibility. My application is built with Qt 5.11.2 and the DLLs are from Qt 5.11.2 too.

    Eventually, we ended up manually checking DLLs one-by-one to find the dependencies.


    UPDATE:

    Actually the error is due to version mis-match. My application is built with Qt 5.11.2 but the DLLs were being copied over from Qt 5.9.4 folder! I renamed Qt 5.9.4 folder and ran windeployqt again and the error got resolved.


  • Lifetime Qt Champion

    Glad you found out and thanks for sharing !

    Did you maybe use the windeployqt from the wrong version of Qt ?



  • @SGaist That was a possibility. However, I was running the command like this on PowerShell to make sure I'm running the 5.11.2 version of windeployqt.exe:

    > C:\Qt\Qt5.11.2\5.11.2\msvc2017_64\bin\windeployqt.exe .\qt3dsceneeditor.dll
    

    The above command was still giving me the error, until I renamed the Qt 5.9.4 folder. I'm not sure why.


  • Lifetime Qt Champion

    That's strange... Did you check the PATH environment variable ?



  • @SGaist When I check my system path variable, it includes C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin as can be seen on PowerShell command line:

    > $env:path
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Git\cmd;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;C:\WINDOWS\System32\OpenSSH\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Users\me\AppData\Local\Microsoft\WindowsApps;;C:\Users\me\AppData\Local\Programs\Microsoft VS Code\bin
    

    Also, graphical interface:

    0_1541319876001_path_var.png


Log in to reply