[SOLVED] Using qwindowsd.dll platform from correct location



  • I'm working with Qt 5.3 and I run my application on my development machine (running the executable).

    I checked Process Explorer and looks like the qwindowsd.dll is used from the C:\Qt5\5.3\ path, though in the folder I'm running the executable from has a platforms sub-folder containing the same file.

    There is also a few dlls taken from the Qt folder's plugins\imageformats and plugins\accessible folders.

    What can I do to make sure that all of these are used from the executable's folder?



  • Hi, Qt tries to load qwindowsd.dll in 5 different ways:

    1. Qt installation path (plugpath=) written into Qt5Cored.dll when you installed Qt.
    2. via a possible call QApplication::addLibraryPath(path); (before QApplication a(argc, argv); in main.cpp)
    3. if there is a qt.conf together with your .exe file, look for plugin=path in the file
    4. if there's a platforms subdirectory where your .exe file is
    5. if there's an environment variable QT_PLUGIN_PATH

    However on you development machine, Qt almost always choose 1). To avoid it, for example you can "binary edit Qt5Cored.dll":http://www.tripleboot.org/?p=536#BinaryEditing


  • Moderators

    Temporarily rename C:\Qt5, so that Qt can't find it and is forced to load a different copy.



  • Thanks - hskoglund and JKSH - great info and tip.


Log in to reply
 

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