delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/11/05/04:56:38

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <49116DA1.4000803@gmail.com>
Date: Wed, 05 Nov 2008 10:55:45 +0100
From: ludo <ludovic DOT leman AT gmail DOT com>
User-Agent: Thunderbird 2.0.0.17 (Windows/20080914)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: need some explanations about files ".a" ".la" ".dll.a"
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Hi,

I'm a newbie on cygwin platform and I'm not sure to understand the 
semantic of lib files

It seems that for a library "foo", several files are created :

* cygfoo.dll   => this is the "true" lib. This file contains the real 
code of the lib : It is the equivalent of the "foo.dll" in MS 
terminology. Is this correct ?
* libfoo.a => this is the static lib (contains a set of object file 
(*.o)) : It is the equivalent of the "foo.lib" in MS terminology. Is 
this correct ?
* libfoo.dll.a => this is the import static lib (contains a set of 
object file (*.o) without code, only functions/var names ... ?) : It is 
the equivalent of the import lib "foo.lib" in MS terminology. Is this 
correct ?
* libfoo.la => this is a general description text file created by 
libtool : There is no equivalent MS file in MS terminology. Is this 
correct ?

cygfoo.dll must be in .../bin directory
libfoo.*  must be in .../lib directory

In linux :
.../lib/libfoo.so is the equivalent of .../bin/cygfoo.dll
.../lib/libfoo.a is the equivalent of .../lib/libfoo.a
and there are no equivalent for libfoo.dll.a and libfoo.la in linux ?

when gcc links binaries, it uses only
    .o files
    .a files
    .dll.a files
libfoo.la is a helper file only uses by libtool (not handled by gcc) : 
is that correct ?

Is that correct or I misunderstand the role of those files

Thanks in advance




--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019