PDA

View Full Version : Qwt installation on Windows 7



qt_developer
1st March 2013, 14:05
Hi,

I've downloaded the qwt-4.2.0-setup-qt230nc.exe (http://garr.dl.sourceforge.net/project/qwt/qwt/4.2.0/qwt-4.2.0-setup-qt230nc.exe) executable file and I've installed it. Then I've downloaded the latest version of MinGW (http://garr.dl.sourceforge.net/project/mingw/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe) and finally I've installed Qt 5.0.1 with Qt Creator 2.6.2 for Windows (MinGW) (http://releases.qt-project.org/qt5/5.0.1/qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe).

Later I've opened a command line, cmd, and I've put this commands:

cd "Program Files (x86)\Qwt"
path C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin
qmake qwt.pro
path C:\MinGW\bin
mingw32-make

and I get this output:


mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/Program Files (x86)/Qwt'
g++ -c -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra -frtti -fexceptions -m
threads -DUNICODE -DQT_DLL -DQWT_DLL -DQWT_MAKEDLL -DQT_NO_DEBUG -DQT_GUI_LIB -D
QT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I. -I"include" -I"..\..\Qt\
Qt5.0.1\5.0.1\mingw47_32\include" -I"..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\Q
tGui" -I"..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtCore" -I"src\moc" -I"..\..\
Qt\Qt5.0.1\5.0.1\mingw47_32\mkspecs\win32-g++" -o src\obj\qwt_autoscl.o src\qwt_
autoscl.cpp
In file included from include/qwt_scldiv.h:14:0,
from include/qwt_autoscl.h:14,
from src\qwt_autoscl.cpp:11:
include/qwt_array.h:25:23: error fatal: qmemarray.h: No such file or directory
compilation finished.
mingw32-make[1]: *** [src/obj/qwt_autoscl.o] Error 1
mingw32-make[1]: Leaving directory `C:/Program Files (x86)/Qwt'
mingw32-make: *** [release] Error 2

Need I any other dependency?, I've kept the steps described in the installation guide of qwt for Win32/MinGW (http://qwt.sourceforge.net/qwtinstall.html) properly.

Can anyone help me?

Kind regards.

Added after 22 minutes:

Now I've made a checkout from svn://svn.code.sf.net/p/qwt/code/branches/qwt-6.0

Then I've repeated the steps but I get another errors:



cd src\ && mingw32-make -f Makefile
mingw32-make[1]: Entering directory `C:/qwt/src'
mingw32-make -f Makefile.Release all
mingw32-make[2]: Entering directory `C:/qwt/src'
compiling qwt_clipper.cpp
qwt_clipper.cpp: In member function 'Polygon QwtPolygonClipper<Polygon, Rect,
Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygon, Rec
t = QRect, Point = QPoint, T = int]':
qwt_clipper.cpp:449:55: instantiated from here
qwt_clipper.cpp:232:9: error: 'qMemCopy' was not declared in this scope
qwt_clipper.cpp: In member function 'Polygon QwtPolygonClipper<Polygon, Rect,
Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygonF, Re
ct = QRectF, Point = QPointF, T = double]':
qwt_clipper.cpp:465:55: instantiated from here
qwt_clipper.cpp:232:9: error: 'qMemCopy' was not declared in this scope
qwt_clipper.cpp: En el destructor 'QwtClip::PointBuffer<Point>::~PointBuffer() [
con Point = QPoint]':
qwt_clipper.cpp:220:28: instantiated from 'Polygon QwtPolygonClipper<Polygon,
Rect, Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygon
, Rect = QRect, Point = QPoint, T = int]'
qwt_clipper.cpp:449:55: instantiated from here
qwt_clipper.cpp:140:13: error: 'qFree' was not declared in this scope
qwt_clipper.cpp: In member function 'void QwtClip::PointBuffer<Point>::setPoi
nts(int, const Point*) [con Point = QPoint]':
qwt_clipper.cpp:223:9: instantiated from 'Polygon QwtPolygonClipper<Polygon, R
ect, Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygon,
Rect = QRect, Point = QPoint, T = int]'
qwt_clipper.cpp:449:55: instantiated from here
qwt_clipper.cpp:148:9: error: 'qMemCopy' was not declared in this scope
qwt_clipper.cpp: En el destructor 'QwtClip::PointBuffer<Point>::~PointBuffer() [
con Point = QPointF]':
qwt_clipper.cpp:220:28: instantiated from 'Polygon QwtPolygonClipper<Polygon,
Rect, Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygon
F, Rect = QRectF, Point = QPointF, T = double]'
qwt_clipper.cpp:465:55: instantiated from here
qwt_clipper.cpp:140:13: error: 'qFree' was not declared in this scope
qwt_clipper.cpp: In member function 'void QwtClip::PointBuffer<Point>::setPoi
nts(int, const Point*) [con Point = QPointF]':
qwt_clipper.cpp:223:9: instantiated from 'Polygon QwtPolygonClipper<Polygon, R
ect, Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygonF
, Rect = QRectF, Point = QPointF, T = double]'
qwt_clipper.cpp:465:55: instantiated from here
qwt_clipper.cpp:148:9: error: 'qMemCopy' was not declared in this scope
qwt_clipper.cpp: In member function 'void QwtClip::PointBuffer<Point>::reserv
e(int) [con Point = QPoint]':
qwt_clipper.cpp:134:13: instantiated from 'QwtClip::PointBuffer<Point>::PointB
uffer(int) [con Point = QPoint]'
qwt_clipper.cpp:220:28: instantiated from 'Polygon QwtPolygonClipper<Polygon,
Rect, Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygon
, Rect = QRect, Point = QPoint, T = int]'
qwt_clipper.cpp:449:55: instantiated from here
qwt_clipper.cpp:193:9: error: 'qRealloc' was not declared in this scope
qwt_clipper.cpp: In member function 'void QwtClip::PointBuffer<Point>::reserv
e(int) [con Point = QPointF]':
qwt_clipper.cpp:134:13: instantiated from 'QwtClip::PointBuffer<Point>::PointB
uffer(int) [con Point = QPointF]'
qwt_clipper.cpp:220:28: instantiated from 'Polygon QwtPolygonClipper<Polygon,
Rect, Point, T>::clipPolygon(const Polygon&, bool) const [con Polygon = QPolygon
F, Rect = QRectF, Point = QPointF, T = double]'
qwt_clipper.cpp:465:55: instantiated from here
qwt_clipper.cpp:193:9: error: 'qRealloc' was not declared in this scope
mingw32-make[2]: *** [release/qwt_clipper.o] Error 1
mingw32-make[2]: Leaving directory `C:/qwt/src'
mingw32-make[1]: *** [release-all] Error 2
mingw32-make[1]: Leaving directory `C:/qwt/src'
mingw32-make: *** [sub-src-make_default-ordered] Error 2


What's wrong?

Kind regards.

Uwe
1st March 2013, 14:12
You need Qwt 6.1 ( = SVN trunk ) for Qt5.

Uwe

qt_developer
1st March 2013, 14:36
I have tried with this version (Qwt 6.1 ( = SVN trunk )) and now compiles :)

I have added the line

CONFIG += qwt

in my .pro file but I get the error:
error: qwt_plot.h: No such file or directory

I've edited qwtconfig.pri



win32 {
# QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION-svn
QWT_INSTALL_PREFIX = C:/Qt/Qwt-6.1
}


and I've copied the qwt.prf and qwtconfig.pri files in C:\Qt\Qt5.0.1\5.0.1\mingw47_32\mkspecs\features.

Need I do something more?

Regards.

EDIT:

I've edited again the qwtconfig.pri file:



#QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include
QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/src


Now the program compiles.

Uwe
2nd March 2013, 07:22
As soon as someone starts to copy files around I stop reading about installation problems.

What is so hard about following the instruction in INSTALL:



mingw32-make
mingw32-make install
configure QMAKEFEATURES


Then you can use CONFIG += qwt.

Uwe

Phil64
26th May 2013, 20:20
Hi Uwe,

The problem is that 99% of the time users' configuration is slightly incorrect and then the steps provided in the "INSTALL" don't work. In Windows the situation is even worse when users get confused or don't know the difference between Visual Studio and Mingw. I think slightly more detailed instructions in the "INSTALL" would reduce the number of installation related questions dramatically. I wrote the following instructions for students in my lab. Most seem to have success with them. They might help others:


install QT using: qt-win-opensource-4.8.4-vs2010.exe
and: qt-creator-windows-opensource-2.6.1.exe
(the latest versions should work too)
add to PATH environment variable: ;C:\Qt\4.8.4\bin
Download and install Microsoft Visual Studio 2010 Express
Download and extract latest QWT to C:\temp
In extracted folder: edit qwtconfig.pri: remove "#" in front of "QWT_CONFIG * * += QwtExamples"; save and close
Open "Visual Studio Command Prompt (2010)" with admin rights
navigate to C:\temp\qwt-6.0.2
qmake qwt.pro
nmake
nmake install
a) qmake -set QMAKEFEATURES C:\Qwt-6.0.2\features
b) check with: qmake -query QMAKEFEATURES
close command prompt
add new environment variable QT_PLUGIN_PATH and for the variable value: C:\Qwt-6.0.2\plugins
add to PATH environment variable: ;C:\Qwt-6.0.2\lib
Edit C:\Qt\4.8.4\bin\qtvars.bat:
Add: "set PATH=%PATH%;C:\Qwt-6.0.2\lib
echo -- adding C:\Qwt-6.0.2\lib to PATH"
Open QtCreator
Tools - Options - Build & Run
Qt Versions: Add "C:\Qt\4.8.4\bin\qmake.exe
Kits: Select "Desktop", select "Qt version": Qt 4.8.4 (4.8.4)
Do not forget to add CONFIG +=qwt into your project PRO file


Use the MSVC2010 build config!

Uwe
26th May 2013, 20:26
Please read install.dox ( Doxygen input ) from svn trunk ( it will replace the old INSTALL document ) and send me patches for this unfinished text. Everything else will get lost.

Uwe