[Kde-bindings] Qt3 Kimono version - got it compiled
Arno Rehn
arno at arnorehn.de
Fri Nov 25 15:43:08 UTC 2005
Am Donnerstag, 24. November 2005 21:44 schrieb Richard Dale:
> 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().
Ok, it works - if you want to call it like this. I can create a MainForm,
Layout, Buttons etc. and can run my app. But I can't display a "Hello World!"
because the function "SetCaption" always gives me an error
(System.MissingMethodException) , even if it isn't overloaded.
But it seems to be the same problem as with overloaded functions, the error is
the same.
--
MfG
Arno Rehn
arno at arnorehn.de
More information about the Kde-bindings
mailing list