[Kde-bindings] Qt3 Kimono version - got it compiled

Richard Dale Richard_Dale at tipitina.demon.co.uk
Thu Nov 24 20:44:30 UTC 2005


On Thursday 24 November 2005 18:22, Arno Rehn wrote:
> Am Donnerstag, 24. November 2005 19:03 schrieb Richard Dale:
> > On Thursday 24 November 2005 16:12, Arno Rehn wrote:
> > > Hi,
> > >
> > > after some hacks in the kalyptus-generated code I could compile the Qt3
> > > Kimono bindings. But somehow I don't get the libqyoto thing to compile.
> > > Any ideas?
> >
> > Excellent! Have a look at trunk/playground/bindings/kimono/makefile -
> > this rule build the Qt4 version. What compile command were you using? It
> > should be just a matter of putting the path to your Qt3 headers in a '-I'
> > option, and linking against the Qt3 version of the libsmokeqt.so library.
> > Is there some Qt4 specific code that won't compile?
> >
> > libqyoto.so:    qyoto.cpp handlers.cpp
> >         gcc -shared -o libqyoto.so \
> >         -I/home/duke/src/kde/kde/trunk/KDE/kdebindings/smoke \
> >         -I/opt/kde4/include -I/opt/kde4/include/QtCore \
> >         -I/opt/kde4/include/QtGui \
> >         -L/opt/kde4/lib -lQtCore -lQtGui -lsmokeqt qyoto.cpp handlers.cpp
>
> I already tried this makefile with the Qt3 headers, but the files qhash.h,
> qlistwidget.h and qtablewidget.h don't exist. Besides there isn't any
> "QtCore" or "QtGui".
> I use the following makefile:
>
> libqyoto.so:	qyoto.cpp handlers.cpp
> 	gcc -shared -o libqyoto.so \
> 	-I/home/arno/Anwendungen/kdebindings-3.4.2/smoke \
> 	-I/opt/kde3/include \
> 	-I/usr/lib/qt3/include \
> 	/usr/lib/qt3/include/private \
> 	-L/opt/kde3/lib -lsmokeqt qyoto.cpp handlers.cpp
>
> > We could put the Qt3 .cs sources in kimono/qt3qyoto in the svn.
>
> I uploaded the sources, take a look at
> www.arnorehn.de/programming/qt3qyoto.tar.bz2
> There are some bad hacks in it, I don't know if every class is functional.
I checked the sources in - even if they have bad hacks it's a starting point. 
I backported qyoto.cpp and handlers.cpp to Qt3 and called them qt3qyoto.cpp 
and qt3handlers.cpp, and added a target to the makefile to build them. Those 
sources are very similar to Qt.cpp and handlers.cpp in the qtruby project.

The next step is to look up a method in the Smoke lib and successfully call 
it.. 

None of the methods involved in getting a 'hello world' working are over 
loaded, so we don't have to worry about overloaded method resolution on the 
argument types for now. That will involve adding an instance variable to 
SmokeInvocation called 'callSignature' which will have a String containing 
the C++ type signature of the method about to be called. It will involve 
generating an assignment to that before each method is called through 
SmokeInvocation.Invoke().

-- Richard



More information about the Kde-bindings mailing list