[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