[SOLVED] Could not find or load qt plugin windows



  • After having enough in searching & reading peoples questions that had the same problem as i have and trying allot of solutions that doesn't seems to help, I'm posting my question.

    I want to run my project- qt application, it ran well when i built it on qt4.8.1 32bit and 5.1.1 64bit. now i want to run it on qt5.3.0 32 bit. i installed qt open source with the following configuration:
    qt 5.3.0 msvc2010_opengl 32bit.

    Since my projects is using qt solutions- qt single application and qt service, i downloaded the packeges, built it in the new environment and placed them in qt/qt5.3.0/5.3/bin and qt/qt5.3.0/5.3/lib.

    (I mention this last detail because a simpler qt project that doesn't use these dlls- service and single application runs well in my environment).

    Well, when I run my application from qt it doesn't run. When i run the exe file from the release folder i get the following error:

    This application failed to start because it could not find or load the qt platform plugin "windows". reinstalling the application may fix this problem.

    I tried all creative ideas:

    note: I see that automatically the build arainged the release folder with the folowing struck:
    plugin folder with all plugins in it
    platform folder with the hole list of platforms: qwindows.dll, qminimal.dll...
    and also put straightly the dlls: qwindows.dll, qwindowsd.dll
    libEGL.dll
    libEGLd.dll
    qt.conf with the data:
    [Paths]
    Plugins=C:...\build-____-Desktop_Qt_5_3_0_MSVC2010_OpenGL_32bit-Release\release\plugins

    I used the dependency walker that told me that the IEShims.dll is missind, so I brought it to the release folder from: C:\Program Files (x86)\Internet Explorer.

    now the dependency walker tells me:
    Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
    I see that the Qt5core.dll->link checksum member in the dependency is marked with red, and also I see it takes it from:
    C:\Qt\Qt5.3.0\Tools\QtCreator\bin
    so I bring to the release folder the Qt5Core.dll from:
    C:\Qt\Qt5.3.0\5.3\msvc2010_opengl\bin. then I get the following message:
    the procedure entry point
    ?bytearrayToDouble@QLocalePrivate@@SANPBDPA_N1@Z could not be located in the dynamic link library c:/Qt/Qt5.3.0/Tools/QtCreator/bin/Qt5Gui.dll
    so maybe its wrong to do so.

    what else can i do???



  • Hi, first, as you've seen, there is a hazard when mixing DLLs from QtCreator's bin directory and DLLs from msvc2010_opengl\bin (most likely because QtCreator 3.1.1 is built with Qt 5.2.1 and your app is built with Qt 5.3).

    You could try debugging the plugin loading process: open a CMD window and:
    SET QT_DEBUG_PLUGINS=1

    Then download "DbgView":http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx and start it.

    Then launch your app from the CMD window, in DbgView you should see output like "QFactoryLoader::QFactoryLoader() checking….”

    Hopefully this will help.


  • Moderators

    [quote]I want to run my project- qt application, it ran well when i built it on qt4.8.1 32bit and 5.1.1 64bit.[/quote]Can you please describe how you run your applications with Qt 4.8.1 and Qt 5.1.1?

    [quote]I see that the Qt5core.dll->link checksum member in the dependency is marked with red, and also I see it takes it from:
    C:\Qt\Qt5.3.0\Tools\QtCreator\bin [/quote]That's wrong. The files in C:\Qt\Qt5.3.0\Tools\QtCreator\bin are for Qt Creator only. They should not be used in your own projects.

    Can you think of why it's taking from C:\Qt\Qt5.3.0\Tools\QtCreator\bin ? If that folder is in your PATH, remove it from the PATH.

    [quote]I get the following message:
    the procedure entry point
    ?bytearrayToDouble@QLocalePrivate@@SANPBDPA_N1@Z could not be located in the dynamic link library c:/Qt/Qt5.3.0/Tools/QtCreator/bin/Qt5Gui.dll[/quote]This message usually means the application is trying to load the wrong version of the DLL.



  • Ok. The path variable had the folder C:\Qt\Qt5.3.0\Tools\QtCreator\bin in it. I removed it.
    Now it looks like the exe file has all dlls it needs: windows, singleapplication, qt service, Qt core, Qt widgets, Qt gui...

    And it looks like it takes everything from the correct folder: C:\Qt\Qt5.3.0\5.3\msvc2010_opengl\bin

    when i try to run the exe file nothing happens.
    in the dependency walker Qt5core.dll->link checksum member is still marked with red, and now it takes it from: C:\Qt\Qt5.3.0\5.3\msvc2010_opengl\bin\Qt5Core.dll.

    the dependency only shows the warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

    But the application does nothing when trying to run it; doesn't show any error and doesn't work.

    does some have any idea what to do?



  • Hi, try to launch your app from a CMD window, in case there are some error messages, they're easier to see that way. Try insert qDebug() calls in your code, for example in your main.cpp to see if your app reaches that point before it dies.



  • Thank you very much! I debugged with qDebug() calls and found that there was a problem with the code. When I fix it the application ran. (This is in addition to the wrong environment variable I had)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.