Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt platform plugin windows fail or windows 8 vs windows 10



  • Hello all, again (well, lately I often write about problems)
    So, i have:
    one project (standart Qt widget);
    two system: windows 8 (64-bit) with Qt 5.5.0 Mingw32bit and windows 10 (64-bit) with Qt 5.5.1 Mingw32bit
    I build project at win8 and win10, collect folder (libEGL, libgccc_s.., libGleSv2, libstdc++, libwinpthread-1, Qt5Core, Qt5Gui, Qt5Widgets, platforms/qwindows or plugins/platforms) by files of mingw each system (did not mix files, it is meant). (pic for example win8 win10.
    And i launch program at on different systems.
    So program compiled by win8 with win8 libs work at: win8-64(Qt install), win8-32(Qt install), Ubuntu(at wine start - work), windows7 (Qt not install). Doesn't work at win10-64 (Qt install).
    program compiled by win10 with win10 libs work at: win10-64(Qt install), Ubuntu(at wine start - work), windows7 (Qt not install). Doesn't work at win8-64 and win8-32 (Qt install both).
    program compiled by win10 with win8 libs (Qtcore, qtwidget, qtgui) work at win8.
    Error looks like win 8 like win 10
    Questions:

    1. Why?
    2. How?
    3. what to do, so that the win8 program could work at win10 and win10 program could work at win8?
      If somebody know what i doing wrong - answer me please.
      And yep, i something hear about that old Qt compiler doesn't work at win 10, but qt 5.5? and why win 10 program doesn't work at win 8? Or need have 2 complect qwindows for win8 and win10 and if win8 -> change LibraryPath?


  • @Psy_Duck help?


  • Moderators

    @Psy_Duck said:

    Error looks like win 8 [like win 10]

    Your program is trying to load the wrong version of Qt DLLs.

    Doesn't work at win10-64 (Qt install).
    ...
    Doesn't work at win8-64 and win8-32 (Qt install both).

    Remove Qt from your PATH.



  • @JKSH Hi again
    At win 10 i find C:\Qt\Tools\mingw492_32\bin; and delete, but it's not help for win8 project they stay don't
    work

    in win 8 that text in my path

    C:\ProgramData\Oracle\Java\javapath;
    C:\Windows\system32;
    C:\Windows;
    C:\Windows\System32\Wbem;
    C:\Windows\System32\WindowsPowerShell\v1.0;
    C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
    C:\Program Files (x86)\Skype\Phone;
    C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit;
    C:\Program Files\Microsoft SQL Server\110\Tools\Binn;
    C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\

    I haven't QT in path at win 8



  • Hi, if you try to run a Qt 5.5.1 .exe file on another computer that has Qt 5.5 installed this will fail with a platform plugin error if the Qt 5.5.1 and the Qt 5.5 are installed to the same directories on the 2 different computers.

    So to get rid of this error:

    1. you can run windeployqt on your .exe file (it will give you a patched Qt5Core.dll) use those .dlls to deploy to other computers, this will work
    2. reinstall Qt 5.5 or Qt 5.5.1 to another place on C:, so that the 2 different installations on your 2 different computers are not installed to the same place
    3. reinstall so that both the computers have the same version of Qt, either 5.5 or 5.5.1


  • @hskoglund first method, windeployqt and add libcc libs and it's work!
    Thank you, again.
    P.S. but when i release and windeploy program with sqldriver (program can work an win 8, it's good) and release program in qt again -> "could find or load the Qt platform plugin "windows"". Well done)



  • Good! About your P.S. when you have done windeployqt on your .exe file, then every time after that, if you go into Qt Creator and edit/rebuild your program, then to be safe, you should run windeployqt again.



  • @hskoglund said:

    Good! About your P.S. when you have done windeployqt on your .exe file, then every time after that, if you go into Qt Creator and edit/rebuild your program, then to be safe, you should run windeployqt again.

    yep, it's work! thank you!