Monday, December 28, 2009

Problems with Qt and Path environment variable

Qt Creator kept giving strange error messages. Message such as "mingw32-make" not found in the path. Only after removing all references to my cygwin installation in the windows (XP) PATH environment settings does Qt Creator work again.

Cygwin (from a bash shell) still seems to work after removing these path entries.

Tuesday, December 22, 2009

Path for qt

It turned out that my cygwin installation also contains some qt elements. They interfered with the Qwt examples. After moving

D:\Qt\2009.05\Qt\bin

to the front of the path I can now directly run the Qwt examples by double clicking in an explorer window.

By the way in

D:\Qt\2009.05\bin

the dll's needed to run Qt Creator are stored and not the dll's you build your own software against. With Qwt it is possible to build an plugin for Qt designer. However this plugin when build with the free Qt package does not work because Qt Designer was build against these other dll's. Not nice.

Python script for lame mp3 encoding

For some reason EAC refused to encode a CD to mp3. Therefore I copied the .wav files and downloaded the lame package from sourceforge. Lame was then compiled and installed under cygwin (1. ./configure 2. make 3. make install). Then with this small python script all tracks could be compressed to mp3:

import os

for i in range(1,28):
call_text="lame -V2 Track%02d.wav Track%02d.mp3"%(i,i)
print call_text
os.system(call_text)


(on the web I had to look up how to do the os.system call and how to pad with zeros to the numbering of the tracks right 01, 02 ,03

Monday, December 21, 2009

qHash problem

The qHash problem was also found by other people

according to
this forum entry


you can just remove the QWT_TEMPLATEDLL section (I did this by changing the line
#if defined(QWT_TEMPLATEDLL)
near the

template class QWT_EXPORT QList;

line
into

#if defined(QWT_TEMPLATEDLLxx)

after this the compile runs fine and I have a fresh qwt5.dll file.


By opening the example.pro file in the Qt Creator and running qmake from the build menu followed by a run I also managed to compile the examples. The examples don't run because qwt5.dll cannot be found. Copying the dll into the examples/bin folder lets you run the examples from Qt Creator. You still cannot run the examples directly from windows because then the qt dll's cannot be found. Running the examples from the command prompt that comes with the nokia Qt installation package works though.

Better option is of course to just add the folders with the qt dll's to the windows environment. I choose to copy the qwt dll into the same folder as the other qt dll's (safes an entry into the path environment setting)

Qwt and Qt (mingw version) next step

When you search on google for qwt one of the first hits is a download link on sourceforge for version 4.2.0. The most recent version at the moment however is 5.2.0. Which was made for Qt 4.5. The Qt package from Nokia now seems to come with Qt 4.6.

When compiling the Qwt package from the Qt Creator it now comes much further but it runs into an error compiling qwt_valuelist.h:

2009.05/qt/include/QtCore/../../src/corelib/tools/qhash.h:875: error: call of overloaded 'qHash(const double&)' is ambiguous

Starting with Qt and Qtw

Today I downloaded Qt free version (4.6.0) and installed it on my labtop (windows XP). I also downloaded the Qwt plotting library (4.2.0). After installation Qwt does not compile when I open the qwt project in the Qt Creator. The binary examples also do not run because a dll is missing. I already had this problem once when I installed Qt and Qwt on my desktop machine (running Vista). Of course now I cannot remember what I did then to make it run that time. And that is why I decided to start this blog. Just to make my own notes to help me remember these kind of things.

Maybe it will help someone else too.