X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Message-ID: <4BCD07E4.20706@gmail.com> Date: Tue, 20 Apr 2010 02:48:20 +0100 From: Dave Korn User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: GCC - Access denied References: <4BCD03D6 DOT 8020804 AT gmail DOT com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 On 20/04/2010 02:16, Moises Deangelo wrote: > Excuse my ignorance. > But what's the difference between gcc-3 and gcc-4? Rather a lot! There have been lots of improvements added to gcc since the version 3 series, it has a whole new optimiser framework and tons of new features, also the new -4 versions support using DLLs for all the language support libraries rather than having to statically link them in to every application. For full details, take a browse through the gcc website: http://gcc.gnu.org/releases.html has a timeline of all the releases, with links to the pages telling you about the changes in each new release series: http://gcc.gnu.org/gcc-4.0/ http://gcc.gnu.org/gcc-4.1/ http://gcc.gnu.org/gcc-4.2/ http://gcc.gnu.org/gcc-4.3/ http://gcc.gnu.org/gcc-4.4/ ... as you'll see by browsing those pages, gcc-3.4.4 (the gcc-3 version in the cygwin distro) was released way back in May 2005, and all the major effort since then has gone into gcc-4 series. The most important points, from your angle, are probably these: 1. If you're using the -mno-cygwin flag to generate pure native windows executables that don't use the POSIX functionality of cygwin (so don't need the cygwin dll to run), keep using gcc-3; that feature isn't supported in the newer gcc. 2. Executables built with the newer gcc have more dependencies on shared libraries: apart from the cygwin dll itself, there is also a shared libgcc dll (cyggcc_s-1.dll) and the various languages also have support libraries (e.g. if you're using c++ your application will now need cygstdc++-6.dll to run). So apart from that: if you aren't depending on the -mno-cygwin flag, then use gcc-4, it's much better and has more new optimisations in it, but remember that anyone who wants to run your app will need to have the language library dlls installed - or use "-static" to make an app that depends only on the cygwin dll. If you really need to make totally stand-alone windows-only exes, stick with gcc-3, but otherwise try the newer one. cheers, DaveK -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple