Shared vs Static [WAS: Re: [general] some ideas & request for comments (LONG)]

Chris Faylor
Wed May 17 03:05:00 GMT 2000

On Wed, May 17, 2000 at 07:54:55AM +0000, Michael Ring wrote:
>>In '-Bstatic', you'd only look for 'libfoo.a' of course.
>Why is the actual DLL the first thing that has to be searched?
>>From my understanding the first thing to use is the import-library, if it
>Think about the cygwin1.dll example. If you would first try to link with the
>actual dll, you would run into an 'unresolved external' problem if some kind of
>name-mangling is done in the import-library.
>So search order should be:
>libfoo.dll.a foo.dll.a libfoo.dll foo.dll libfoo.a
>Correct or wrong ????

I'm not sure what name mangling has to do with this, but actually, there is
another reason to search the .a file before the .dll file.

libcygwin.a contains references to things in cygwin1.dll *and* it contains
"static" references.  If you link cygwin1.dll first you will get unresolved
symbols.  So, you can't do things this way.


More information about the Cygwin-apps mailing list