Linking against Wine under Linux

rael at edge.ping.de rael at edge.ping.de
Thu Feb 19 01:59:11 CST 2004


Hallo! 

> 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 
either. 

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? 

-- 
Gruß...
      Tim. 



More information about the wine-devel mailing list