Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. windeployqt.exe looks for library in the wrong place
Forum Updated to NodeBB v4.3 + New Features

windeployqt.exe looks for library in the wrong place

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
12 Posts 3 Posters 1.8k Views
  • 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 Christian Ehrlicher

    windeployqt (as also qmake and the cmake scripts) expects that all Qt stuff is innstalled with the same prefix which is not in your case.
    So install the Qt6Mqtt stuff with the same prefix as the rest.

    MesrineM Offline
    MesrineM Offline
    Mesrine
    wrote on last edited by Mesrine
    #3

    @Christian-Ehrlicher

    Thanks, do you know how to install Qt6Mqtt on a GitHub runner?
    And how it is that works for the qtquick application and not for the console application.
    For the qtquick application, Qt6Mqtt is not installed as part of Qt and works.
    For the Qt-Windows installation are the .dlls installed in the bin folder or in a lib folder?
    If installed in a lib folder windeployqt.exe is looking also in the wrong folder.

    MesrineM 1 Reply Last reply
    0
    • MesrineM Mesrine

      @Christian-Ehrlicher

      Thanks, do you know how to install Qt6Mqtt on a GitHub runner?
      And how it is that works for the qtquick application and not for the console application.
      For the qtquick application, Qt6Mqtt is not installed as part of Qt and works.
      For the Qt-Windows installation are the .dlls installed in the bin folder or in a lib folder?
      If installed in a lib folder windeployqt.exe is looking also in the wrong folder.

      MesrineM Offline
      MesrineM Offline
      Mesrine
      wrote on last edited by Mesrine
      #4

      @Mesrine
      According to this. I should pass --ignore-library-errors.
      But the CMake API it seems that do not allow it.
      Where is the source code of windeployqt for qt 6.5.0?

      cristian-adamC MesrineM 2 Replies Last reply
      0
      • MesrineM Mesrine

        @Mesrine
        According to this. I should pass --ignore-library-errors.
        But the CMake API it seems that do not allow it.
        Where is the source code of windeployqt for qt 6.5.0?

        cristian-adamC Online
        cristian-adamC Online
        cristian-adam
        wrote on last edited by
        #5

        I've opened up https://bugreports.qt.io/browse/QTBUG-116551

        I think the CMake API should provide a way to specify arguments to windeployqt and macdeployqt.

        MesrineM 1 Reply Last reply
        2
        • cristian-adamC cristian-adam

          I've opened up https://bugreports.qt.io/browse/QTBUG-116551

          I think the CMake API should provide a way to specify arguments to windeployqt and macdeployqt.

          MesrineM Offline
          MesrineM Offline
          Mesrine
          wrote on last edited by
          #6

          @cristian-adam Thanks, It is a nice thing to have on the CMake API.

          1 Reply Last reply
          0
          • MesrineM Mesrine

            @Mesrine
            According to this. I should pass --ignore-library-errors.
            But the CMake API it seems that do not allow it.
            Where is the source code of windeployqt for qt 6.5.0?

            MesrineM Offline
            MesrineM Offline
            Mesrine
            wrote on last edited by Mesrine
            #7

            @Mesrine

            It seems that the generic deploy tool uses file(GET_RUNTIME_DEPENDENCIES) of CMake.

            The Qt cmake API allows setting variables like PRE_INCLUDE_REGEXES .

            So, I am wondering how to use something like

            if(QTDEPLOY)
            		qt_generate_deploy_app_script(
            			TARGET ${example}
            			OUTPUT_SCRIPT deploy_script
            			PRE_INCLUDE_REGEXES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/*"
            			)
            
            		install(SCRIPT ${deploy_script})
            endif(QTDEPLOY)
            

            I want to set PRE_INCLUDE_REGEXES to the path the MQTT library was installed.
            The best will be to use DIRECTORIES but I do not see how to pass this from the QT CMake API.

            cristian-adamC MesrineM 2 Replies Last reply
            0
            • MesrineM Mesrine

              @Mesrine

              It seems that the generic deploy tool uses file(GET_RUNTIME_DEPENDENCIES) of CMake.

              The Qt cmake API allows setting variables like PRE_INCLUDE_REGEXES .

              So, I am wondering how to use something like

              if(QTDEPLOY)
              		qt_generate_deploy_app_script(
              			TARGET ${example}
              			OUTPUT_SCRIPT deploy_script
              			PRE_INCLUDE_REGEXES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/*"
              			)
              
              		install(SCRIPT ${deploy_script})
              endif(QTDEPLOY)
              

              I want to set PRE_INCLUDE_REGEXES to the path the MQTT library was installed.
              The best will be to use DIRECTORIES but I do not see how to pass this from the QT CMake API.

              cristian-adamC Online
              cristian-adamC Online
              cristian-adam
              wrote on last edited by
              #8

              This is only available for Linux, on Windows and macOS the windeployqt and macdeployqt tools are used.

              Woud be nice to have the generic deploy tool, but AFAIK it's not possible.

              Please do create a bugreport at https://bugreports.qt.io/

              MesrineM 1 Reply Last reply
              0
              • MesrineM Mesrine

                @Mesrine

                It seems that the generic deploy tool uses file(GET_RUNTIME_DEPENDENCIES) of CMake.

                The Qt cmake API allows setting variables like PRE_INCLUDE_REGEXES .

                So, I am wondering how to use something like

                if(QTDEPLOY)
                		qt_generate_deploy_app_script(
                			TARGET ${example}
                			OUTPUT_SCRIPT deploy_script
                			PRE_INCLUDE_REGEXES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/*"
                			)
                
                		install(SCRIPT ${deploy_script})
                endif(QTDEPLOY)
                

                I want to set PRE_INCLUDE_REGEXES to the path the MQTT library was installed.
                The best will be to use DIRECTORIES but I do not see how to pass this from the QT CMake API.

                MesrineM Offline
                MesrineM Offline
                Mesrine
                wrote on last edited by
                #9

                @Mesrine This does not make much sense because windeploy.exe what it does is to populate the install folder with the QT dependencies.
                Still, I have not found the windeploy source code to see where it is getting that mqttlibrary path.

                cristian-adamC 1 Reply Last reply
                0
                • cristian-adamC cristian-adam

                  This is only available for Linux, on Windows and macOS the windeployqt and macdeployqt tools are used.

                  Woud be nice to have the generic deploy tool, but AFAIK it's not possible.

                  Please do create a bugreport at https://bugreports.qt.io/

                  MesrineM Offline
                  MesrineM Offline
                  Mesrine
                  wrote on last edited by
                  #10

                  @cristian-adam I see for Linux it is called 'generic Qt deploy tool' and use file(GET_RUNTIME_DEPENDENCIES).
                  Thanks.

                  1 Reply Last reply
                  0
                  • MesrineM Mesrine

                    @Mesrine This does not make much sense because windeploy.exe what it does is to populate the install folder with the QT dependencies.
                    Still, I have not found the windeploy source code to see where it is getting that mqttlibrary path.

                    cristian-adamC Online
                    cristian-adamC Online
                    cristian-adam
                    wrote on last edited by
                    #11

                    https://code.qt.io/cgit/qt/qtbase.git/tree/src/tools/windeployqt ist the place for the windeployqt source code.

                    MesrineM 1 Reply Last reply
                    2
                    • cristian-adamC cristian-adam

                      https://code.qt.io/cgit/qt/qtbase.git/tree/src/tools/windeployqt ist the place for the windeployqt source code.

                      MesrineM Offline
                      MesrineM Offline
                      Mesrine
                      wrote on last edited by
                      #12

                      @cristian-adam
                      It seems this part checks if the library is called "Qt6Something" and adds the Qt bin installation directory to the path for the next iteration of the function.

                      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