uic error compiling kde app

Andy Goossens andygoossens at pandora.be
Wed Jun 25 03:02:57 CEST 2003


On Tuesday 24 June 2003 21:04, Ralf Habacker wrote:
> > After some investigation I might have found the cause. I removed ~/.qt
> > and restarted the cygwin shell. This time, the uic command (see above)
> > gave an error message:
> > Conflict in /opt/kde3/lib/kde3/plugins/designer/kdewidgets.dll:
> >    Plugin uses incompatible Qt library (3.1.2)!
> > at the position where the klineedit include should have been...
> >
> > According to qtconfig and kde apps, they were using Qt 3.1.0 ...
>
> Whic uic version are you using ? The error let me assume that you have also
> installed a qt3.0.4 release or similar.

I don't have Qt 3.0.x installed. The only Qt version I have, is distributed in 
the KDE 3.1.1 Beta package. (and installed in /opt/kde3)

> You can get the version of the uic with:
>
> $ uic -version
> User Interface Compiler for Qt version 3.1.0

$ /opt/kde3/bin/uic.exe -version
User Interface Compiler for Qt version 3.1.0

But /opt/kde3/lib/kde3/plugins/designer/kdewidgets.dll contains (open using a 
hex-editor) "version 3.1.2" and "buildkey=i686 CYGWIN_NT-5.0 g++-2.95.* 
full-config no-opengl no-stl". Those seem to be coming from your machine, 
because I don't have a NT version here, but a (vmware'd) Win98. (I also have 
kde-cygwin installed on WinXP which has the same problems I'm describing 
here.)

I assume you build the KDE 3.1.1 Beta with Qt 3.1.0, but distributed 
kdewidgets.dll that was build with Qt 3.1.2. That seems to cause this 
conflict...

> qt stores the plugins pathes in ~/.qt/qtrc. May be it contains an
> additional path.

I got this error after I removed the ~/.qt directory:
Conflict in /opt/kde3/lib/kde3/plugins/designer/kdewidgets.dll:
   Plugin uses incompatible Qt library (3.1.2)!
All configs in ~/.qt were removed and could not contain such paths.


I have this small testcase (extracted from the ./configure process):

* create uictest.ui with the following contents:
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
<class>NewConnectionDialog</class>
<widget class="QDialog">
   <widget class="KLineEdit">
        <property name="name">
           <cstring>testInput</cstring>
        </property>
   </widget>
</widget>
</UI>

* Remove ~/.qt (or better: rename it)

* Close cygwin shell and restart it. (I guess some libraries are left in the 
memory otherwise.)

* Run:
/opt/kde3/bin/uic -L /opt/kde3/lib/kde3/plugins/designer -nounload -impl 
uictest.h uictest.ui

* If UIC outputs #include <klineedit.h> then you're fine. If it doesn't 
(and/or outputs the "conflict" error message) the test failed.

> If this does not help let me know.

Now you know :-)

-- 
// Andy Goossens

// Quote of the moment:
There goes the good time that was had by all.
		-- Bette Davis, remarking on a passing starlet



More information about the kde-cygwin mailing list