qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] quick gtk2.c update


From: Jim C. Brown
Subject: Re: [Qemu-devel] quick gtk2.c update
Date: Tue, 21 Jun 2005 00:28:44 -0400
User-agent: Mutt/1.4i

On Mon, Jun 20, 2005 at 09:58:06PM -0500, address@hidden wrote:
> Okay, I didn't know that.  (Or I forgot about it.)  That means I was running 
> SDL.
> 
> (That also means that even if it's ends up running in SDL mode, it still 
> wants all those GTK libraries available.  If it isn't using GTK, then it 
> shouldn't need them.)
> 

Perhaps you are right (it is less of an issue in Linux since most workstations
have GTK libraries installed anways ... if you have SDL then you probably have
GTK as well). However, this approach would a) require introducing dlopen()/
LoadLibrary() into qemu in the right places (something I really hesitate to do)
or b) require a link against glib for all cases (not just the GTK case) and
use glib code to handle that (something I am even more relutant to do).

> Using that option now, I'm getting an error when I try to run qemu.
> 
> ***
> Incompatable build!  The code using GTK+ thinks GtkBox is of different size 
> than it actually is in this build of GTK+.
> 
> On Windows, this probably means that you have compiled your code with gcc 
> without the -fnative-struct (or -mms-bitfileds) switch, or that you are 
> using an unsupported compiler.
> ***
> 
> No idea what it really means.  Other than what it actually says.
> 

This is a particularly perplexing error, considering that a) this error should
only show up if you 1) use a MSVC compiled GTK with a mingw/cygwin compiled
app or 2) use a mingw/cygwin compiled GTK with a MSVC compiled app. Since you
used mingw for both, I have not the slighest clue why this occurs. Especially
since I do not use GtkBox anywhere in the gtk code. (I don't use any sort of
Gtk Container period... other than GtkWindow.) There is also c) mixing GTK 2.2
and GTK 2.4 (or possibly GTK 2.4 and GTK 2.6) headers and libraries together
(e.g. including the GTK 2.2 headers in qemu but using the GTK 2.4 libraries
or something).

Technically, it means that the sizes of the structure types don't match, which
means that the library binary (GTK) and the application binary (qemu) are not
compatible.

It is possible that the 2 different mingw environments could have introduced
incompatibilities (a very remote possibility). Perhaps recompiling GTK and
its dependencies inside the new mingw environment would produce valid libraries.
Or it might trash the new environment completely...*shrug*

-- 
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]