[Kde-bindings] Building assemblygen (unsuccessfully) on Windows/Linux

Steven Boswell II ulatekh at yahoo.com
Sat Dec 10 21:10:36 UTC 2011


OK, I can go through smokeqt and patch up its smokeconfig.xml files to include the missing classes.  But...how did anyone ever compile assemblygen under Linux without these changes?  Please don't tell me I'm using the wrong git repository again.  I'm using git://anongit.kde.org/smokeqt and its master branch.

The worst part about having to modify smokeqt's smokeconfig.xml files is that smokegen takes forever to run.  I suppose at some point I should look at what it's doing and see if anything can be done to speed it up.

Since I'm a glutton for punishment, I decided to try to compile smokekde under Windows.  I started with changes similar to the ones I made for smokeqt.  But compilation failed immediately, in kdecore, because it couldn't find QDBus.  The Windows version of Qt that I have installed doesn't have the QDBus libraries, but strangely, it has the header files.  Installing the KDE packages for dbus didn't help.  Diking out references to DBus in kdecore's config files didn't help; the references to DBus are in a KDE header file. (I'll get its exact name the next time I reboot into Windows.)  If anyone has any ideas for getting past this hurdle, I'm all ears.

Steven Boswell



________________________________
 From: Dimitar Dobrev <dpldobrev at yahoo.com>
To: Steven Boswell II <ulatekh at yahoo.com>; KDE bindings for other programming languages <kde-bindings at kde.org> 
Sent: Saturday, December 10, 2011 12:43 PM
Subject: Re: [Kde-bindings] Building assemblygen (unsuccessfully) on Windows/Linux
 

Whenever you see such not found types make sure they are included in smokeqt/<module>/smokeconfig.xml (in your case <module> = qtdbus). If you need to include a nested class, use the C++(::) instead of the C#(.) separator.
I get something similar to "GetSignals: invalid meta-object" for qtsql but I just ignore it because I have no intention of using it for now. About the property - well, this is really strange, nothing similar happened to me. You could debug MethodsGenerator in assemblygen but I'm almost sure the SMOKE libs provide such strings so managed debugging will be pointless.



________________________________
 From: Steven Boswell II <ulatekh at yahoo.com>
To: KDE bindings for other programming languages <kde-bindings at kde.org> 
Sent: Saturday, December 10, 2011 9:11 PM
Subject: [Kde-bindings] Building assemblygen (unsuccessfully) on Windows/Linux
 

I finally grabbed the correct branch of assemblygen, and tried to build it under Linux and Windows.

Under Linux (Fedora Core 16), it dies when trying to build qyoto-qtdbus:

[ 28%] Generating ../../bin/qyoto-qtdbus.dll
Registered Qyoto hooks.
Generating CodeCompileUnit...
GetSignals: invalid meta-object for class QDBusAbstractInterfaceBase
GetSignals: invalid meta-object for class QDBusInterface
Generating code...
Compiling assembly...
/tmp/2fcfcb00/35413d21.5.cs(1035,40) : error CS0246: The type or namespace name `QDBusUnixFileDescriptor' could not be found. Are you missing a using directive or an assembly reference?
/tmp/2fcfcb00/35413d21.5.cs(1163,39) : error CS0246: The type or namespace name `QDBusUnixFileDescriptor' could not be
 found. Are you
 missing a using directive or an assembly reference?
/tmp/2fcfcb00/35413d21.5.cs(1723,60) : error CS0246: The type or namespace name `QDBusVirtualObject' could not be found. Are you missing a using directive or an assembly reference?
/tmp/2fcfcb00/35413d21.5.cs(1733,60) : error CS0246: The type or namespace name `QDBusVirtualObject' could not be found. Are you missing a using directive or an assembly reference?
Errors occured. No assembly was generated.
make[2]: *** [bin/qyoto-qtdbus.dll] Error 2


I have no idea what "invalid meta-object for class" means or what to do about it.  The other Qyoto assemblies also have problems with types not being found.  Hopefully once a solution is found for qyoto-qtdbus' problems, the rest will be OK too.

Windows seems to generate a broken assemblygen executable.  It seems to be botching up the output to Q_PROPERTY.  Attached is a snippet from what Windows generated for bin/qyoto-qtcore.cs, along with the corresponding snipped generated by Linux.


Any help with these issues would be most appreciated.

Also, to Dimitar...re: GDB debugging under Windows, since I'm not yet running the latest version of Qyoto, I'm not sure my debugging will do you much help yet.

Steven Boswell

_______________________________________________
Kde-bindings mailing list
Kde-bindings at kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20111210/16976430/attachment.html>


More information about the Kde-bindings mailing list