Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <013801c2c95e$9ddbed20$78d96f83@pomello> From: "Max Bowsher" To: , References: Subject: Re: gcc as strictly win32 compiler Date: Fri, 31 Jan 2003 19:26:12 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 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/