Linking against Wine under Linux
rael at edge.ping.de
rael at edge.ping.de
Thu Feb 19 01:59:11 CST 2004
> The problem has to do with the fact that a winelib application (i.e. - an
> application that uses the Win32 API using Wine, compiled natively)
> requires much more than the static libraries. It requires a different
> loader, supporting services (such as registry and wineserver), etc. This
> means that wine will have to be installed for the win32 APIs to work, even
> if they were compiled into your app.
Needing wine to run the compiler software would be OK for me. I do not have
Windows myself and this would be the chance to work on and fix that part of
my software under Linux. I do have Wine installed (was positivly suprised!.
great job, great for running a little bit older games!), so that would not
eb a problem.
> The other part of the problem is that we have been, as of yet, unable to
> make the entire construct work as a normal ELF executable. Instead, you
> have to load such an application (a winelib app) through a wrapper. When
> you use the wine build tools (winebuild, winemaker, winegcc), such a
> wrapper is automatically created for you. However, this means that your
> entire application must now be a winelib app. I'll leave it to the winelib
> masters to fill you in on the details of how one goes about doing that.
It seems like my Debian system is already configured to implictely start
Wine if I choose to start a Windows program. That would not be a problem
What I would be interested to know. Can I get it running using the "normal"
Linux gcc and by using (more or less tricky) different compiler/linker
options for the Windows/Wine specific modules or is it even more complex.
Can I use "normal" Linux and fore example X11 calls in the same binary or
will I have problems with that?
Is there some documentation what exactly winemaker, winegcc and Co. do make?
And is it possible that the problem I have is (partly) a pacating problem
since I think I have already seen some compiler call examples just using for
example -luser32 and that seemed to work. Or have I just missed that they
called winegcc and not gcc?
More information about the wine-devel