Qt World Summit: Submit your Presentation

Qt 5.6 and 5.7: difference in handling plugins

  • Is there a difference in handling plugins in 5.7 compared to previous Qt versions? My program that uses plugins and ran without problems for 4 years, complains when loading my own plugins stating Plugin verification data mismatch since upgraded to 5.7.
    All sources recompiled several times, recompilation seems fine, pluginloader complains with the message Plugin verification data mismatch

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Check that you are indeed loading the plugins you built.

    You can get more details about what is happening defining the QT_DEBUG_PLUGINS environnement variable.

  • Thanks for the hint. Setting QT_DEBUG_PLUGINS as env variable generates a lot of output on program start up. However, there is no additional output when the QPluginLoader is executed with - as parameter - the filename of the plugin. I cross compiled the software - using mingw64-32 - and cross compiling the same set of sources gives windows executable that run perfectly. The windows version of Qt is pre-5.7.

  • Lifetime Qt Champion

    What exact version are you running and is failing ?
    On what OS ?
    With which compiler ?

  • @SGaist It took a while, but I found that omitting the test on the version of Qt (see below) works fine. Strange, since the test itself (I tested it) yields true. I run Fedora 25 gcc version 6.2.1 20160916 (Red Hat 6.2.1-2) (GCC) and Qt 5.7. So I can circumvent the error, but I cannot explain it. (The version test is there to allow compilation with Qt4 and Qt5)
    The header of the class in the plugin reads
    class remote: public rigInterface, public Ui_Form {
    Q_INTERFACES (rigInterface)
    #if QT_VERSION >= 0x050000
    Q_PLUGIN_METADATA (IID "remote")

  • Lifetime Qt Champion

    Can you re-produce that with a minimal code sample ?

Log in to reply