From: Christopher F. <cg...@cy...> - 2003-06-08 05:43:02
|
On Sun, Jun 08, 2003 at 01:17:41AM +0200, Oscar Fuentes wrote: >"Paul G." <pga...@at...> writes: > >[snip] > >> The very worst that could happen by adding the -mwindows >> switch is that the MS Windows GUI related libs would be linked, even >> though they might not ever be used. > >If you specify the -mwindows switch, the startup code does not attach >a console to the application. So it is not a good idea to use that >switch unless you want a pure GUI application. > >Please correct me if I'm wrong. You are not wrong. You should not just blindly use -mwindows unless you specifically want to build a GUI app. If you use this option for a console app you won't be able to read or write from the command window. So, you have to *decide* when to use this. In fact, it does not hurt to use windows functions in a console app, so you're safer not using the -mwindows than using the option. A drawback to using a console app is that a black console window will appear if you double click on a program that was generated without the use of -mwindows. |
From: Christopher F. <cg...@cy...> - 2003-06-08 05:37:28
|
On Sat, Jun 07, 2003 at 01:34:45PM -0700, Paul G. wrote: >Also of note, if you are going to use #include <windows.h>, then you >should also put the -mwindows switch on your gcc/g++ command line. That's only necessary for non-console-mode, GUI mode applications. It isn't required just to use windows.h. gcc wouldn't be much of a Windows compiler if it needed to have a special option just to use its own include files. |
From: Markus G. <ma...@ge...> - 2003-06-07 10:26:12
|
Benjamin Riefenstahl wrote: > > Why are there _parse_ errors in winbase.h ??? I thought this one's a > > MinGW system file? What's that? > Did you include <windows.h> before <winsock2.h>? Now I did, but it didn't change the error message. |
From: Benjamin R. <Ben...@ep...> - 2003-06-07 11:17:41
|
Hi Markus, Markus Gerwinski <ma...@ge...> writes: > In file included from ../include/violite.h:26, > from libmysql.c:31: > ../include/my_net.h:37: warning: `struct in_addr' declared inside parameter > list > ../include/my_net.h:37: warning: its scope is only this definition or > declaration, which is probably not what you want > ../include/my_net.h:37: warning: parameter has incomplete type > In file included from libmysql.c:31: > ../include/violite.h:108: warning: `struct in_addr' declared inside parameter > list > In file included from c:/mingw/include/windows.h:51, > from c:/mingw/include/winsock2.h:22, > from libmysql.c:40: > c:/mingw/include/winbase.h:1236: parse error before > "GetStartupInfoA" These messages look like you include <windows.h> and <winsock2.h> after the declaration of some other functions that already use sockets. You should put <windows.h> and <winsock2.h> ahead of any use, ideally at least <windows.h> should be before *any* other header. If that doesn't help either, my next step would be to investigate, what the compiler sees after the preprocessing stage. Add -E to the gcc command and pipe stdout to a file. Than search for the offending code in the preprocessed output. Check that each of the identifiers that the preprocessor has left have reasonable definitions. Hope this helps, benny |
From: Earnie B. <ear...@ya...> - 2003-06-06 19:57:22
|
Benjamin Riefenstahl wrote: > Hi Markus, > > Markus Gerwinski <ma...@ge...> writes: > >>Why are there _parse_ errors in winbase.h ??? I thought this one's a >>MinGW system file? What's that? > > > Did you include <windows.h> before <winsock2.h>? > Should we do something as silly as #ifndef _WINDOWS_H # include <windows.h> #endif for all of the windows.h dependent headers? Earnie. |
From: Benjamin R. <Ben...@ep...> - 2003-06-06 20:02:43
|
Hi Earnie, Earnie Boyd <ear...@ya...> writes: > Should we do something as silly as > > #ifndef _WINDOWS_H > # include <windows.h> > #endif > > for all of the windows.h dependent headers? I would prefer #ifndef _WINDOWS_H # error You must include <windows.h> before this header. #endif That should stop the questions, I hope, and still keep compatibility with other compilers. benny |