[Kde-bindings] Building latest qyoto under Windows and Linux

Steven Boswell II ulatekh at yahoo.com
Sun May 13 00:33:35 UTC 2012

I've been here the whole time...you could have just shouted!

I'm still overloaded at work, but decided to take some time today to work on this anyway.  I'm tired of being too tired to work on projects that I want to work on! :-)

If Qyoto has to depend on .NET 4, that's not a big deal -- if it needs to use System.Action<> instances with more than 4 parameters, there's not much of a choice.  The problem was that cmake/modules/CMakeDetermineCSharpCompiler.cmake was still looking for the v3.5 compiler.  So I updated it to look for the v4.0.30319 compiler.  I also updated to look for dmcs (i.e. the .NET 4 version of Mono) instead of gmcs.  How is it that assemblygen ever compiled without these changes?

The next barrier was that the most of the changes I submitted a long time ago had never been applied. I had modified assemblies/qyoto-*/CMakeLists.txt to make them work if  MONO_EXECUTABLE was undefined, and various places to allow QT_QTDBUS_LIBRARY to be undefined.  I put those back.

Now assemblygen builds and links under Windows, but I haven't tried to run it  yet.

Under Linux, I get as far as building qyoto-qtgui, then I get a bunch of errors like "error CS0426: The nested type `Error' does not exist in the type `Qyoto.QX11EmbedContainer'".  One example of a line that causes this problem is:

        event System.Action<QX11EmbedContainer.Error> Error;

If you know how to get past this, I'd be grateful.  The only reference I see to QX11EmbedContainer is in src/plugins/qyoto/QyotoTranslator.cs, where it throws a NotSupportedException, so I have no idea where to go with this.

Also, I have some vague memory that uics was branched into assemblygen?  If not, what do I use?

Thanks in advance for any help with these issues!

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, May 12, 2012 12:13 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux

I'm glad you're back, Steven!

Both problems are one and the same: Qyoto now depends on .NET/Mono 4. 

The reason is that I needed the overloads for System.Action as I use them to generate events corresponding to signals. The other thing I need to find the files with parameter names.
If the dependency on .NET 4 is unacceptable for you please say so and we might be able to think of some workaround.

 From: Steven Boswell II <ulatekh at yahoo.com>
To: KDE bindings <kde-bindings at kde.org> 
Sent: Saturday, May 12, 2012 9:50 PM
Subject: [Kde-bindings] Building latest qyoto under Windows and Linux

Today I decided to try to build latest smokegen/smokeqt/assemblygen under Windows and Linux.
smokegen, i.e. git://anongit.kde.org/smokegen, and smokeqt, i.e. git://anongit.kde.org/smokeqt, built and linked under both Windows 7 and Fedora Core 16 just fine.

But when building assemblygen, i.e.git://gitorious.org/assemblygen/assemblygen.git, "assemblies" branch, I get the same build error immediately, under both OSes:

GeneratorData.cs(220,98): error CS0117: `System.Environment.SpecialFolder' does not contain a definition for `Windows'

Getting that error under Linux didn't surprise me, but getting it under Windows did.

Diking that line out and continuing to build, I get to building qyoto-qtcore.dll.  I get 260 "Won't wrap method" warnings and 65 "Conflicting names" messages, then I get a bunch of errors that say "error CS0305: Using the generic type `System.Action<T1,T2,T3,T4>' requires `4' type argument(s)".  One example of a line that generates such an error is:

        event System.Action<QModelIndex,System.Int32,System.Int32,QModelIndex,System.Int32> RowsAboutToBeMoved;

I'm guessing there's a 'System.Action<T1,T2,T3,T4>' now, but my version of Qt (4.8.1-5) doesn't have that.

So...does anyone know what to do about these?  The first error appears to be real; the second one appears to want a different version of Qt.  What version of Qt should I be using?

Steven Boswell

 mailing list
Kde-bindings at kde.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20120512/84db2a33/attachment-0001.html>

More information about the Kde-bindings mailing list