X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <47859550.1070705@cwilson.fastmail.fm> Date: Wed, 09 Jan 2008 22:47:28 -0500 From: Charles Wilson User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: cygwin, g++ and boost? Do I need dll.a? References: <14705301 DOT post AT talk DOT nabble DOT com> <00db01c852bd$30386d00$2e08a8c0 AT CAM DOT ARTIMI DOT COM> In-Reply-To: <00db01c852bd$30386d00$2e08a8c0@CAM.ARTIMI.COM> Content-Type: text/plain; charset=ISO-8859-1; format=flowed 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 Note-from-DJ: This may be spam Dave Korn wrote: > Wrong reasoning. The actual problem is that you need to remove the 'lib' > prefix when supplying a library name: > >> g++ -o hello -L/lib hello.cpp -lcrypt >> g++ -o hello -L/lib hello.cpp -lbfd > > Ordinary .a files are for static linking, .dll.a files are for runtime > linking against dlls, gcc selects the right one for you by using one of the > -shared or -static flags. Err, no. gcc (by default) will use .dll.a files in preference to .a files -- more completely, the search pattern for -lxxx is, in each directory: libxxx.dll.a xxx.dll.a libxxx.a xxx.lib cygxxx.dll libxxx.dll xxx.dll libxxx.a (again, for architectural reasons) xxx (this is so that stuff like -lmyspecific.o will work as expected). before moving on to the next directory in the search path. With -static, -lxxx only looks for: libxxx.a xxx Note that, oddly, in -static mode a MS-style library name "xxx.lib" will be ignored, while in (normal) mode it will be used if found (and the other patterns ahead of it are not found). Just an odd little quirk. -shared is something competely different. It means: make the output file a DLL instead of an executable. -- Chuck -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/