PDA

View Full Version : Example QtUiTools linker error



phillies
26th June 2007, 19:43
Hi,

I'm trying to use Qt 4.3.0 but got some severe problems concerning the QtUiTools.
I'm using the example code from http://doc.trolltech.com/4.1/designer-calculatorbuilder.html.

First point, when I use

#include <QtUiTools>
as provided in calcsomething.cpp, the compiler says "no such file or directory" while all other includes are resolved correctly. But this I can fix by changing to

#include <QtUiTools/quiloader.h>
But then the linker doesn't do what I want him to.

D:\Daten\workspace\qttest>make
make -f Makefile.Debug
make[1]: Entering directory `D:/Daten/workspace/qttest'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -Wl,-subsystem,windows -o "debug\qttest.exe" debug\calculatorfo
rm.o debug\main.o debug\moc_calculatorform.o debug\qrc_calculatorbuilder.o -L"d
:\Programme\Qt\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
debug\calculatorform.o: In function `ZN14CalculatorFormC2EP7QWidget':D:/Daten/wo
rkspace/qttest/calculatorform.cpp:32: undefined reference to `QUiLoader::QUiLoad
er(QObject*)'
:D:/Daten/workspace/qttest/calculatorform.cpp:36: undefined reference to `QUiLoa
der::load(QIODevice*, QWidget*)'
:D:/Daten/workspace/qttest/calculatorform.cpp:49: undefined reference to `QUiLoa
der::~QUiLoader()'
:D:/Daten/workspace/qttest/calculatorform.cpp:49: undefined reference to `QUiLoa
der::~QUiLoader()'
debug\calculatorform.o: In function `ZN14CalculatorFormC1EP7QWidget':D:/Daten/wo
rkspace/qttest/calculatorform.cpp:32: undefined reference to `QUiLoader::QUiLoad
er(QObject*)'
:D:/Daten/workspace/qttest/calculatorform.cpp:36: undefined reference to `QUiLoa
der::load(QIODevice*, QWidget*)'
:D:/Daten/workspace/qttest/calculatorform.cpp:49: undefined reference to `QUiLoa
der::~QUiLoader()'
:D:/Daten/workspace/qttest/calculatorform.cpp:49: undefined reference to `QUiLoa
der::~QUiLoader()'
collect2: ld returned 1 exit status
make[1]: *** [debug\qttest.exe] Error 1
make[1]: Leaving directory `D:/Daten/workspace/qttest'
make: *** [debug] Error 2

If I add -lqtuitools to linker parameters it makes matters worse and I get thousands of errors like

d:\Programme\Qt\lib/libqtuitools.a(properties.o):properties.cpp:(.text $_Z13qvari
ant_castI7QPixmapET_RK8QVariant[QPixmap qvariant_cast<QPixmap>(QVariant const&)]
+0x141): undefined reference to `_imp___ZN7QPixmapC1Ev'
But even googleing couldn't solve my problem. Any ideas? "Normal" Qt projects compile & link fine, it's (for the moment) only qtuitools making problems.

I'm using Windows XP SP2, latest MinGW (5.1.3) with gcc-3.4.2, Qt 4.3.0 OpenSource and Eclipse 3.2.2. But calling qmake/make from command line doesn't make a difference.

If anyone has an idea, please tell me.

So far
Phil

jacek
26th June 2007, 22:27
Add "CONFIG += uitools" to your .pro file or its equivalent in your build environment (see $QTDIR/mkspecs/features/uitools.prf for details).