On Sat, 23 Nov 2002, Max Bowsher wrote:

> Peter A. Castro <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> or <[EMAIL PROTECTED]>
        "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/

Reply via email to