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. Adapt a program to a new version of Qt
Forum Updated to NodeBB v4.3 + New Features

Adapt a program to a new version of Qt

Scheduled Pinned Locked Moved Solved General and Desktop
7 Posts 5 Posters 643 Views 3 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.
  • L Offline
    L Offline
    LorsDavos
    wrote on last edited by
    #1

    I have a program that works on Qt 5.13.2, and I need to migrate it to 5.14.2.

    On Linux, both versions work without modifying my code, but on Windows, version 5.14.2 does not run. Here's the error message displayed:
    "The procedure entry point _ZN20QtextStreamFunctions4endlER11QtextStream could not be located in the dynamic link library."

    Axel SpoerlA C 2 Replies Last reply
    0
    • L Offline
      L Offline
      LorsDavos
      wrote on last edited by
      #7

      It's alright, I've solved it. The executable on Windows was using Qt 5.13.2 DLL files, all I had to do was to update them.

      1 Reply Last reply
      1
      • Pl45m4P Offline
        Pl45m4P Offline
        Pl45m4
        wrote on last edited by Pl45m4
        #2

        @LorsDavos said in Adapt a program to a new version of Qt:

        Qt 5.13.2, and I need to migrate it to 5.14.2.

        What's the point updating to 5.14.2 and not to the lastest Qt 5 LTS release (which is 5.15)?!

        On Linux, both versions work without modifying my code, but on Windows, version 5.14.2 does not run

        It's more likely an error how Qt is linked to your program


        If debugging is the process of removing software bugs, then programming must be the process of putting them in.

        ~E. W. Dijkstra

        1 Reply Last reply
        1
        • L LorsDavos

          I have a program that works on Qt 5.13.2, and I need to migrate it to 5.14.2.

          On Linux, both versions work without modifying my code, but on Windows, version 5.14.2 does not run. Here's the error message displayed:
          "The procedure entry point _ZN20QtextStreamFunctions4endlER11QtextStream could not be located in the dynamic link library."

          Axel SpoerlA Offline
          Axel SpoerlA Offline
          Axel Spoerl
          Moderators
          wrote on last edited by
          #3

          @LorsDavos
          As @Pl45m4 said, you should consider updating to a Qt version with a longer perspective, while at it. Recommend 6.2 or better 6.5.

          Just by looking at the error message: Check your code for a stream operator<<, streaming the endl macro. This pattern will likely hit you with an upgrade to any higher version. Try replacing it by \n.

          Software Engineer
          The Qt Company, Oslo

          1 Reply Last reply
          2
          • L LorsDavos

            I have a program that works on Qt 5.13.2, and I need to migrate it to 5.14.2.

            On Linux, both versions work without modifying my code, but on Windows, version 5.14.2 does not run. Here's the error message displayed:
            "The procedure entry point _ZN20QtextStreamFunctions4endlER11QtextStream could not be located in the dynamic link library."

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

            @LorsDavos said in Adapt a program to a new version of Qt:

            "The procedure entry point _ZN20QtextStreamFunctions4endlER11QtextStream could not be located in the dynamic link library."

            http://demangler.com/ tells me the affected function is QtextStreamFunctions::endl(QtextStream&) which triggered @Axel-Spoerl's comment.
            There's no Qt class called QtextStream. Perhaps you have not copy-pasted the error message or you have a consistent typo in your code.

            1 Reply Last reply
            2
            • L Offline
              L Offline
              LorsDavos
              wrote on last edited by LorsDavos
              #5

              The context is that I received a Qt 5.13.2 program and I need to install a plugin. However, this plugin works in Qt 5.14.2. I wish not to stray too far in version to avoid making too many changes. I don't think the problem lies in the code because I compiled it under both versions of Qt on Linux without any modifications, and both executables work perfectly. When I switch to Windows, both compile fine; however, when I run version 5.14.2, it gives me this error _ZN20QtextStreamFunctions4endlER11QtextStream.
              I searched, and in the directory C:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtCore, I found these files "QTextStream, qtextstream.h, QTextStreamFunction, and QTextStreamManipulator".

              JonBJ 1 Reply Last reply
              0
              • L LorsDavos

                The context is that I received a Qt 5.13.2 program and I need to install a plugin. However, this plugin works in Qt 5.14.2. I wish not to stray too far in version to avoid making too many changes. I don't think the problem lies in the code because I compiled it under both versions of Qt on Linux without any modifications, and both executables work perfectly. When I switch to Windows, both compile fine; however, when I run version 5.14.2, it gives me this error _ZN20QtextStreamFunctions4endlER11QtextStream.
                I searched, and in the directory C:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtCore, I found these files "QTextStream, qtextstream.h, QTextStreamFunction, and QTextStreamManipulator".

                JonBJ Offline
                JonBJ Offline
                JonB
                wrote on last edited by
                #6

                @LorsDavos
                I don't know why.where this is happening, but the problem is the capitalization in the error message:
                _ZN20QtextStreamFunctions4endlER11QtextStream
                This has QtextStream but it really should be QTextStream (upper-case T), e.g. as per https://stackoverflow.com/questions/62559840/how-to-solve-the-no-qt-platform-plugin-could-be-initialized-problem

                The procedure entry point ?endl@QTextStreamFunctions@@YAAEAVQTextStream@@AEAV2@@Z could not be located in the dynamic link library C:\Qt\5.14.1\msvc2017_64\bin\Qt5WebChannel.dll.

                So far as I know case-difference is significant in all linkers, so I wonder why it is looking for QtextStream... anything.

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  LorsDavos
                  wrote on last edited by
                  #7

                  It's alright, I've solved it. The executable on Windows was using Qt 5.13.2 DLL files, all I had to do was to update them.

                  1 Reply Last reply
                  1
                  • aha_1980A aha_1980 has marked this topic as solved on

                  • Login

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