PDA

View Full Version : Cannot run executable release application (only while Qwt is used)



Andell
4th September 2012, 11:55
Hello, I have a problem with running .exe application from release mode. I have Qt 4.7.4 and Qwt 6.0. In Qt the application runs perfectly, the problem occures only when I use in my code Qwt plot. The error says:

The procedure entry point ?pen@QGraphicsLineItem@@QBE?AVQPen22XZ could not be located in the dynamic link library QtGui4.dll.

In the folder, where my app is, I have QtGui4.dll, QtCore4.dll and qwt.dll. Do you have any idea, how can I eliminate the problem and run the file? 4.dll, QtCore4.dll and qwt.dll. Do you have any idea, how can I eliminate the problem and run the file?

ChrisW67
12th September 2012, 05:25
Did you build Qwt with the same compiler as you used for Qt and your application?

Skogetroll
7th October 2012, 13:48
I had same problem with KDChart in my project.

Solution: Procedure "?pen@QGraphicsLineItem@@QBE?AVQPen22XZ" is actually in other dynamic library, so you just need to add QtSvg4.dll to your project's root folder or any folder in libs' path environment variable.

ChrisW67
8th October 2012, 23:55
?pen@QGraphicsLineItem@@QBE?AVQPen22XZ is a Microsoft C++ mangled name matching:

QPen QGraphicsLineItem::pen() const
This function is most definitely in the QtGui library.

If Qwt was built with MSVC but the Qt libraries were built with MingW then this error message would be the result. Qwt would be looking for the function using a Microsoft mangled name in a library full of g++ mangled names.