PDA

View Full Version : Install Qwt 5.1.1 with Qt 4.4.1 and VC++ 2008



lixo1
11th September 2008, 12:44
Hi everybody,

In this week I tried to install qwt-5.1.1 with Qt 4.4.1 (built with VC++ 2008) and VC++ 2008. I put the qwt-5.1.1 directory on C:\, after that I open a console and digit "qmake qwt.pro" than nmake.
During the build process I found many warnings like that (the pc's language is italian):

c:\qwt-5.1\src\qwt_valuelist.h(48) : warning C4661: 'QList<T> QList<T>::fromSet(
const QSet<T> &)': nessuna definizione adatta fornita per la richiesta di creazi
one esplicita di un'istanza del modello
with
[
T=qreal
]
c:\qt\4.4.1\include\qtcore\../../src/corelib/tools/qlist.h(310): vedere
la dichiarazione di 'QList<T>::fromSet'
with
[
T=qreal
]

And after 3 minutes it's stopped showing this error (that is the last part):

qwt_designer_plugin.obj : error LNK2001: simbolo esterno "public: virtual class
QSize __thiscall QwtWheel::minimumSizeHint(void)const " (?minimumSizeHint@QwtWhe
el@@UBE?AVQSize@@XZ) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "protected: virtual voi
d __thiscall QwtWheel::paintEvent(class QPaintEvent *)" (?paintEvent@QwtWheel@@M
AEXPAVQPaintEvent@@@Z) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "protected: virtual voi
d __thiscall QwtWheel::resizeEvent(class QResizeEvent *)" (?resizeEvent@QwtWheel
@@MAEXPAVQResizeEvent@@@Z) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "protected: virtual voi
d __thiscall QwtWheel::paletteChange(class QPalette const &)" (?paletteChange@Qw
tWheel@@MAEXABVQPalette@@@Z) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "public: virtual void _
_thiscall QwtWheel::setMass(double)" (?setMass@QwtWheel@@UAEXN@Z) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "public: virtual double
__thiscall QwtWheel::mass(void)const " (?mass@QwtWheel@@UBENXZ) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "public: virtual void _
_thiscall QwtWheel::setOrientation(enum Qt::Orientation)" (?setOrientation@QwtWh
eel@@UAEXW4Orientation@Qt@@@Z) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "protected: virtual dou
ble __thiscall QwtWheel::getValue(class QPoint const &)" (?getValue@QwtWheel@@MA
ENABVQPoint@@@Z) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "protected: virtual voi
d __thiscall QwtWheel::getScrollMode(class QPoint const &,int &,int &)" (?getScr
ollMode@QwtWheel@@MAEXABVQPoint@@AAH1@Z) non risolto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "protected: virtual voi
d __thiscall QwtWheel::valueChange(void)" (?valueChange@QwtWheel@@MAEXXZ) non ri
solto
qwt_designer_plugin.obj : error LNK2001: simbolo esterno "protected: virtual voi
d __thiscall QwtDoubleRange::rangeChange(void)" (?rangeChange@QwtDoubleRange@@MA
EXXZ) non risolto
qwt_designer_plugin.obj : error LNK2019: riferimento al simbolo esterno "__decls
pec(dllimport) public: virtual __thiscall QwtWheel::~QwtWheel(void)" (__imp_??1Q
wtWheel@@UAE@XZ) non risolto nella funzione "public: virtual void * __thiscall Q
wtWheel::`scalar deleting destructor'(unsigned int)" (??_GQwtWheel@@UAEPAXI@Z)
qwt_designer_plugin.obj : error LNK2019: riferimento al simbolo esterno "__decls
pec(dllimport) public: static struct QMetaObject const QwtPlot::staticMetaObject
" (__imp_?staticMetaObject@QwtPlot@@2UQMetaObject@@B ) non risolto nella funzione
"class QwtPlot * __cdecl qobject_cast<class QwtPlot *>(class QObject *)" (??$qo
bject_cast@PAVQwtPlot@@@@YAPAVQwtPlot@@PAVQObject@ @@Z)
qwt_designer_plugin.obj : error LNK2019: riferimento al simbolo esterno "__decls
pec(dllimport) public: static struct QMetaObject const QwtDial::staticMetaObject
" (__imp_?staticMetaObject@QwtDial@@2UQMetaObject@@B ) non risolto nella funzione
"class QwtDial * __cdecl qobject_cast<class QwtDial *>(class QObject *)" (??$qo
bject_cast@PAVQwtDial@@@@YAPAVQwtDial@@PAVQObject@ @@Z)
plugins\designer\qwt_designer_plugin5.dll : fatal error LNK1120: 188 esterni non
risolti
NMAKE : fatal error U1077: '"c:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\lin
k.EXE"' : codice restituito '0x460'
Stop.
NMAKE : fatal error U1077: '"c:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\nma
ke.exe"' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : codice restituito '0x2'
Stop.

So what I can do to install qwt?
Qwt it's very important for me.

Thank you in advance,
Louis

redoctober0
12th September 2008, 16:05
I have the same problem. Also on windows with VS2008. Only i put Qwt in "C:\Qt\4.4.1\src\3rdparty\qwt-5.1.1" and changed the INSTALLBASE variable in qwtconfig.pri to

win32 {
INSTALLBASE = C:/Qt/4.4.1/src/3rdparty/qwt-5.1.1
}

But the result is the same:


cd designer\ && "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f Makefile
"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f Makefile.Release all
link /LIBPATH:"c:\Qt\4.4.1\lib" /LIBPATH:"c:\Qt\4.4.1\lib" /NOLOGO /INCREMENTAL:NO /DLL /VERSION:1.1 /OUT:plugins\designer\qwt_designer_plugin5.dll @C:\DOCUME~1\eugene\LOCALS~1\Temp\nm3B.tmp
Creating library plugins\designer\qwt_designer_plugin5.lib and object plugins\designer\qwt_designer_plugin5.exp
qwt_designer_plugin.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QwtPlot::QwtPlot(class QWidget *)" (__imp_??0QwtPlot@@QAE@PAVQWidget@@@Z) referenced in function "public: virtual class QWidget * __thiscall QwtDesignerPlugin::PlotInterface::createWidget(cla ss QWidget *)" (?createWidget@PlotInterface@QwtDesignerPlugin@@UA EPAVQWidget@@PAV3@@Z)
qwt_designer_plugin.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QwtPlot::metaObject(void)const " (?metaObject@QwtPlot@@UBEPBUQMetaObject@@XZ)
qwt_designer_plugin.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QwtPlot::qt_metacast(char const *)" (?qt_metacast@QwtPlot@@UAEPAXPBD@Z)
qwt_designer_plugin.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QwtPlot::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QwtPlot@@UAEHW4Call@QMetaObject@@HPA PAX@Z)
qwt_designer_plugin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall QwtPlot::event(class QEvent *)" (?event@QwtPlot@@UAE_NPAVQEvent@@@Z)
qwt_designer_plugin.obj : error LNK2001: unresolved external symbol "public: virtual class QSize __thiscall QwtPlot::sizeHint(void)const " (?sizeHint@QwtPlot@@UBE?AVQSize@@XZ)
qwt_designer_plugin.obj : error LNK2001: unresolved external symbol "public: virtual class QSize __thiscall QwtPlot::minimumSizeHint(void)const " (?minimumSizeHint@QwtPlot@@UBE?AVQSize@@XZ)

And i also get a bunch of warnings during the compilation.


So finally i turned off the Designer plugin by commenting out
#CONFIG += QwtDesigner

line in qwtconfig.pri. And it seemed to compile ok, but it would be nice to get the plugin working too.

lixo1
12th September 2008, 17:20
Hi,
I tried to do the compilation as you wrote, the compilation is OK, thank you for the explanation.
But when I compiled the exemples I found many errors, similars than the plugin's error.
So I cannot use Qwt, :(
There is someone that solve this problem?

redoctober0
12th September 2008, 17:43
Well, the way i see it you don't really need the examples. as long as you've got qwt5.dll and qwt5.lib you should be able to use it. But you are right there's got to be a solution for this problem.

jhowland
12th September 2008, 18:04
Hi,
I tried to do the compilation as you wrote, the compilation is OK, thank you for the explanation.
But when I compiled the exemples I found many errors, similars than the plugin's error.
So I cannot use Qwt, :(
There is someone that solve this problem?
I get exactly the same symptom--I can live without the examples, but they do tend to be a useful canary in making sure everything is OK. I don't really use the plugin much, but I'd like to.



jch

jhowland
12th September 2008, 18:27
a partial answer: I commented out the designer line in the qwtconfig.pri, and like a previous poster, saw the problem move to the examples. So I looked at the examples.pri file, and there was no mention of Visual Studio 2008 in it--nothing past 2005. So I copied and pasted the 2005 line, changed the 2005 to a 2008, and the examples now run fine.

I went back to the designer section of the directory, and edited the designer.pro file the same way. Everything now appears to work

Jonathan Howland

redoctober0
12th September 2008, 18:59
a partial answer: I commented out the designer line in the qwtconfig.pri, and like a previous poster, saw the problem move to the examples. So I looked at the examples.pri file, and there was no mention of Visual Studio 2008 in it--nothing past 2005. So I copied and pasted the 2005 line, changed the 2005 to a 2008, and the examples now run fine.

I went back to the designer section of the directory, and edited the designer.pro file the same way. Everything now appears to work

Jonathan Howland

Yep that seems to do the trick. I was able to run the examples from vs2008 after fiddling with libs a bit so qwt does get built fine, just make sure to link debug to qwtd5.lib and release to qwt5.lib

cheers.

lixo1
13th September 2008, 09:50
Hi everybody,

Thank you very much for your help!!! Now I can compile the qwt + exemples and designer (and the designer works very well)!
I just modified the qwtconfig.pri line with the correct location of qwt (and I erased the # in front of Exemples, last line).
Then I modified the number 2005 to 2008 in the follow files: qwtconfig.pri, examples.pri, designer.pro
To add the plugin, I copy the plugin\designer elements to the Qt 4.4.1 plugin\designer folder, I copy the qwt\lib to the Qt 4.4.1 lib folder, and finally I copy qwt5.dll in the Qt 4.4.1\bin.
Now all features are working!!!

WXNSNW
18th September 2008, 06:10
Hi,

Am also trying to install QWT. How to link the libraries to debug and release


Yep that seems to do the trick. I was able to run the examples from vs2008 after fiddling with libs a bit so qwt does get built fine, just make sure to link debug to qwtd5.lib and release to qwt5.lib

cheers.

redoctober0
18th September 2008, 17:04
Hi,

Am also trying to install QWT. How to link the libraries to debug and release


Try putting in your .pro file these declarations:



DEFINES += QWT_DLL
INCLUDEPATH+=C:\Qt\4.4.1\src\3rdparty\qwt-5.1.1\src
debug {
LIBS+=C:\Qt\4.4.1\lib\qwtd5.lib
}

release {
LIBS+=C:\Qt\4.4.1\lib\qwt5.lib
}


You have to put correct paths to your QWT installation, of course.

redoctober0
18th September 2008, 20:46
Actually it seems that it should be something like this:



DEFINES += QWT_DLL
CONFIG+= debug
INCLUDEPATH+=C:\Qt\4.4.1\src\3rdparty\qwt-5.1.1\src

CONFIG(debug, debug|release) {
LIBS += C:\Qt\4.4.1\lib\qwtd5.lib
} else {
LIBS += C:\Qt\4.4.1\lib\qwt5.lib
}


to link with release LIBS just change CONFIG+= debug to CONFIG+= release

thtran_usa
29th June 2009, 16:13
Please post the steps to build QWT using VS2008. I download Qwt 5.2.0 and able to build in using Mingw32 compiler but I couldn't figure out how to do it successfully in VS compiler.

Thanks.