compiling Windows code with g++ on Linux using msvcrt - good idea? if so, how do you do it?

Roderick Colenbrander thunderbird2k at gmx.net
Thu Dec 11 02:32:53 CST 2008


> 
> Hi,
> 
> I have a huge amount of Windows code that I'm porting to Linux.
> 
> Wine is turning out to be a read godsend, thank you guys!
> 
> Anyway, I've had tons of luck including the directory
> <wine_dir>/include/wine/windows in my include path. All my Windows types are there and
> everything is wonderful. I've even been able to link against the libraries by
> renaming, for example, foo.dll.so to libfoo.so and using -lfoo on the g++
> command line.
> 
> I actually haven't got all my functions defined so I don't know if this
> will actually run yet because the link isn't complete yet.
> 
> My first question is whether this will work. Will all my Windows functions
> with function declarations defined in the windows directory and code
> compiled into foo.dll.so actually run?
> 
> Second, I see that some of the functions I want to use are actually
> defined by headers in the msvcrt directory. However, this directory contains tons
> of header files that my system (and gcc) also have under /usr/include and
> gcc's own directories. I understand that msvcrt is Windows lib c, but I
> wonder how I'm supposed to use it with gcc to compile? I've tried -nostdinc to
> gcc, but the number of errors I get is enormous.
> 
> It's not the end of the world if I can't use Wine's msvcrt, but if I could
> use it, it would define dozens more functions on which my program relies,
> or if its use was mandatory in order to get the functions implemented in
> foo.dll.so to work, then obviously I wonder how I'm supposed to compile my
> Windows code with Wine to make everything work?
> 
> I'm sorry if this is a dumb question. I can't find a way to search the
> wine-devel mailing list other than with google and I can't find anything on
> there or other docs that answer this question, which I'm sure has been asked
> a million times and has a simple answer.
> 
> Thank you thank you,
> 
> Jeff
> 
> _________________________________________________________________
> Send e-mail faster without improving your typing skills.
> http://windowslive.com/Explore/hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_speed_122008

Just compiling your program using g++ won't work as Wine needs to perform a lot of magic. For that reason Wine ships with its own gcc/g++ wrapper programs called winegcc/wineg++ both are mingw compatible. You should build your program using that and it won't have issues linking with wine libraries and it also allows you to link against linux libraries.

Roderick
-- 
Sensationsangebot verlängert: GMX FreeDSL - Telefonanschluss + DSL 
für nur 16,37 Euro/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K1308T4569a



More information about the wine-devel mailing list