This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: impure_ptr/Mingw and Cygwin
- From: "Peter A. Castro" <doctor at fruitbat dot org>
- To: Max Bowsher <maxb at ukf dot net>
- Cc: Andrew DeFaria <ADeFaria at Salira dot com>, cygwin at cygwin dot com
- Date: Sun, 24 Nov 2002 09:39:28 -0800 (PST)
- Subject: Re: impure_ptr/Mingw and Cygwin
On Sat, 23 Nov 2002, Max Bowsher wrote:
> Peter A. Castro <doctor@fruitbat.org> wrote:
>
> > Well, for one thing, linking with -lg will pull in cygwin.dll since
> > /lib/libg.a is a symlink to libcygwin.a. So your program won't be
> > Cygwin-free, if that's your goal. However, I got it to work with the
> > following command:
> >
> > $ gcc -g foo.c -mno-cygwin -mwindows -o foo -liberty -lmingw32
> > $ ./foo.exe > x
> > $ cat x
> > Hello World
> >
> > If you change 'stderr' to 'stdout' you get "Hello World 2" in the
> > output too. You'll have to play with carriage control a bit, but
> > basically it works. Windows doesn't really have the concept of a
> > stderr file handle, so this behaviour makes sense to me.
>
> Hmm.... :
>
> $ gcc -g foo.c -mno-cygwin -mwindows -o foo -liberty -lmingw32
> $ ./foo.exe > x
> Hello World 2
> $ cat x
> Hello World
>
> How odd. I get the stderr output just fine.
Yes, very interesting. I'll have to see if perhaps stderr output is
appearing and the command prompt is simple overlaying it after the
command returns. BTW, I was running the program from a regular DOS
Prompt, not a bash shell (not that that should make a big difference for
console I/O).
> Why the -mwindows -liberty -lmingw32 switches? They are unnecessary.
Because that's how setup.exe is built (that's where I got the above
switches from).
> Max.
--
Peter A. Castro <doctor@fruitbat.org> or <Peter.Castro@oracle.com>
"Cats are just autistic Dogs" -- Dr. Tony Attwood
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/