Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Load dynamic library failed
Forum Updated to NodeBB v4.3 + New Features

Load dynamic library failed

Scheduled Pinned Locked Moved Unsolved General and Desktop
14 Posts 5 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Christian EhrlicherC Offline
    Christian EhrlicherC Offline
    Christian Ehrlicher
    Lifetime Qt Champion
    wrote on last edited by Christian Ehrlicher
    #5

    It should also be possible to use a newer Qt version for your app - Qt is backwards compatible for major versions so a plugin compiled e.g. against Qt6.5 will properly work with Qt6.8 but not the other way round.

    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
    Visit the Qt Academy at https://academy.qt.io/catalog

    1 Reply Last reply
    0
    • C Offline
      C Offline
      cliii
      wrote on last edited by
      #6

      Then what should I do if I need to use two dynamic libraries developed by different Qt Version?

      C 1 Reply Last reply
      0
      • mrdebugM Offline
        mrdebugM Offline
        mrdebug
        wrote on last edited by
        #7

        Hi, try to put the dll in a subfolder and then use this object to load it
        QLibrary Library;
        Library.setFileName("dir01/mydll.dll");
        Please remember, if the dll requires its plugins, other dll or a particular msvc version you have to install all them

        Need programmers to hire?
        www.labcsp.com
        www.denisgottardello.it
        GMT+1
        Skype: mrdebug

        Christian EhrlicherC 1 Reply Last reply
        0
        • C cliii

          Then what should I do if I need to use two dynamic libraries developed by different Qt Version?

          C Offline
          C Offline
          ChrisW67
          wrote on last edited by
          #8

          @cliii Read the answers you already have and apply them to the specifics of your situation.

          You cannot mix Qt 5.x and Qt 6.x for example.
          You cannot use a plugin from Qt 5.2 in a program built with Qt 5.15.
          You cannot mix 32-bit and 64-bit libraries, even with identical Qt versions.
          You cannot mix libraries built with Microsoft tools and those built with MingW.

          1 Reply Last reply
          1
          • mrdebugM mrdebug

            Hi, try to put the dll in a subfolder and then use this object to load it
            QLibrary Library;
            Library.setFileName("dir01/mydll.dll");
            Please remember, if the dll requires its plugins, other dll or a particular msvc version you have to install all them

            Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #9

            @mrdebug You are just plain wrong - it's not possible to load e.g. two different QtCore dlls into one address space.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            1 Reply Last reply
            0
            • C Offline
              C Offline
              cliii
              wrote on last edited by
              #10

              The only problem is different Qt versions have the same dll file names(Qt5Core.dll for example). If they are different names(Qt_5_12_Core.dll for one and Qt_5_2_Core.dll for another then I can put them in the same fold). Maybe i can try to change -lQt5Core to -lQt5Core1 in the Makefile of my own program and then change Qt5Core.dll to Qt5Core1.dll.

              Christian EhrlicherC 1 Reply Last reply
              0
              • mrdebugM Offline
                mrdebugM Offline
                mrdebug
                wrote on last edited by
                #11

                The dll you have to use what it is for?

                Need programmers to hire?
                www.labcsp.com
                www.denisgottardello.it
                GMT+1
                Skype: mrdebug

                1 Reply Last reply
                0
                • C cliii

                  The only problem is different Qt versions have the same dll file names(Qt5Core.dll for example). If they are different names(Qt_5_12_Core.dll for one and Qt_5_2_Core.dll for another then I can put them in the same fold). Maybe i can try to change -lQt5Core to -lQt5Core1 in the Makefile of my own program and then change Qt5Core.dll to Qt5Core1.dll.

                  Christian EhrlicherC Offline
                  Christian EhrlicherC Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #12

                  @cliii When it's a plugin - why do you need to link against it then?
                  Also, as I said you can not link agsinst two different version of the same library.

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    cliii
                    wrote on last edited by
                    #13

                    It is not a Qt plugin, just a common dynamic library, use .lib and .dll file to link

                    1 Reply Last reply
                    0
                    • Christian EhrlicherC Offline
                      Christian EhrlicherC Offline
                      Christian Ehrlicher
                      Lifetime Qt Champion
                      wrote on last edited by
                      #14

                      So what's the real problem then? Simply link the library to your app and you're fine as long as you use the same or newer Qt5 version.

                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                      Visit the Qt Academy at https://academy.qt.io/catalog

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved