Sean McBride wrote: > I know this is a VERY newbie question, but I have looked on the list > archives and been confused by the compiler flags for making win apps, > and the definitions of WIN32 and CYGWIN defines. > > I have several straight win32 apps that I wrote using MSVC and I > simply want to create the executables with gcc rather than MSVC(just > for fun, does that make me evil?). > > I have used gcc with tornado for some embedded apps before, so I am > not completely unfamiliar with gcc (only for C files though). > > I wrote the makefiles, and after a while tinkering with some defines > and slight syntax changes, I was surprisingly quickly successful at > getting a code base that compiles on Both MSVC and GCC. (most of my > headaches came from MSVC's implementation of STL) > > However, I have a few questions about how this will affect my exes. > > Is it possible to compile an exe that does not require the cywin.dll > if I am not using any of the unix apis and sticking with straight > win32? What compiler flags should be used for this and what macros > do they define? > > if not, as I understand it, cygwin.dll interprets many commands and > uses MSVCRT.dll on the back end. How do I create a redistributable > for users without cygwin, and How badly does this hit performance?
Cygwin does not use msvcrt.dll. It uses newlib as its C library, which is compiled into cygwin1.dll. You cannot create a redistributable for users without Cygwin. (Short of a minimal Cygwin install) If you are not using any of the unix APIs, you may be interested in the MinGW project (mingw.sf.net). Cygwin's gcc takes the -mno-cygwin option which causes it to function as a MinGW compiler - i.e. the produced exes use MSVCRT, not cygwin1.dll. Max. -- 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/