Adapt a program to a new version of Qt
-
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." -
@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
-
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."@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 theendl
macro. This pattern will likely hit you with an upgrade to any higher version. Try replacing it by\n
. -
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."@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. -
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". -
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".@LorsDavos
I don't know why.where this is happening, but the problem is the capitalization in the error message:
_ZN20QtextStreamFunctions4endlER11QtextStream
This hasQtextStream
but it really should beQTextStream
(upper-caseT
), e.g. as per https://stackoverflow.com/questions/62559840/how-to-solve-the-no-qt-platform-plugin-could-be-initialized-problemThe 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. -
A aha_1980 has marked this topic as solved on