[Kde-bindings] Primer on building/using Binge and the generated new Qt# bindings
Adam Treat
manyoso at yahoo.com
Tue Jun 29 22:01:28 UTC 2004
On Tuesday 29 June 2004 5:31 pm, Martin Welch wrote:
> I've started to look through the code -- GlueStick.cs fascinated me for
> some reason -- but I'll await your howto before I go any further.
>
> Thanks again.
>
> Martin
Here is the quick overview of howto compile, generate and test Binge code:
Assuming you have latest release Mono, Pnet, Qt etc, etc
You'll have to manually edit a few files after they've been generated and move
around the resultant .so and .dll files..
Top level dir: ./configure && make
This will proceed for awhile, first building Binge and then using Binge to
generate the newlibqtsharp C++ glue library and then proceed to compile
that... It'll error on src/newlibqtsharp/QFontDialogGlue.cpp. This is
because the api.xml file I'm using is months old and the new Qt version makes
some of this files methods private.
1) Edit QFontDialogGlue.cpp and remove the offending methods: eventFilter,
updateFamilies, updateStyles, updateScripts, and updateSizes.
2. Finish compiling newlibqtsharp and then the build will move on to
generating the bindings in newbindings...
3. You'll see an error in QMessageBox regarding the property 'TheIcon'.
Remove the 'override' keyword from this generated file and then issue a
'csant' command in newbindings. This is because of some nasty swings in the
inheritance tree for this particular prop...
3. If you forget and issue a 'make' command instead of 'csant' it'll throw a
bunch of errors because of this bug in mcs:
http://bugs.ximian.com/show_bug.cgi?id=60603 That's why you use pnet's cscc
via the generic 'csant' command :)
4. Ok, now you are almost done and ready to go. Copy the libnewqtsharp.so*
files in newlibqtsharp into "newexamples/samples/" and do likewise for the
NewQt.dll in newbindings. Go into newexamples/samples and issue another
'csant'.
5. You can invoke the examples with 'mono hello.exe' or 'ilrun emit.exe' to
see how they work.
That's it for now. I have some modifications in my local tree that aren't
quite ready for primetime, but they enable full virtual/override inheritance
goodness. Oh, and you can see the list for a few modifications we are still
going to make for the signal/slot stuff. It is quite complete now, but we're
thinking of some magic so we can omit the emit call ;)
KDE bindings are on the way as soon as we can get caught up.
Cheers, Adam
More information about the Kde-bindings
mailing list