2010/12/22 <lemke...@t-online.de>: > On Wed, 22 Dec 2010 14:13:15 +0100, Frédéric Bron <frederic.b...@m4x.org> > wrote: > >>>>> I checked the Make file, it used this flag: >>>>> gcc -mno-cygwin -g -Wl,--add-stdcall-alias -Wl,--export-all-symbols ... >>>> >>>> replace gcc by gcc-3 >>>> gcc 4 is now the default on cygwin but the cross compiler is not >>>> supported for that version. >>>> Frédéric >>> >>> What do you mean by not supported? JonY maintains the cross >>> compilers.... >> >> I meant that i686-w64-mingw32-gcc exists but not i686-w32-mingw32-gcc. >> I thought that w64 meant "built on win64" and mingw32 "run binary on >> win32". >> So it seems to me that with cygwin running on a 32 bit windows, it is >> not possible to cross compile to win32. However with a 64 bit windows >> you can produce win32 applications. >> However, I just tried to use i686-w64-mingw32-g++ on my win32 machine >> with a hello world program and it produces an binary that can be used >> from windows on that win32 machine. >> So my question to the list: what is the meaning of w64 in the name? > > Well, I don't know but I'd really like to know what is the replacement > these days for > > gcc -mno-cygwin -mwindows x.c > > I tried > > i686-w64-mingw32-gcc -mwindows -m32 x.c > > but get > > x.c:35:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before > 'WinMain' > > and that also for all other option combinations that made sense to me. > > Thanks, > Michael
Hi, the -w64- within cross-compiler's triplet means that this compiler uses mingw-w64 runtime headers and libraries. The architecture part of triplet (i686|x86_64) makes the difference, if a cross-compiler produces binaries for i686 (means 32-bit), or for x86_64 (means 64-bit) windows native. Btw the -m32 is superflous for the i686-w64-mingw32 cross-compiler, as it just produces 32-bit and has no 64-bit capabilities builtin. Could you show please your x.c file, as the message you get is a compiler error already. I would assume that you missed to include some header, or you were defining something which cause here the harm. Regards, Kai -- | (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple