cURL / Mailing Lists / curl-library / Single Mail


Re: Are libcurldll.a and libssh2dll.a meant to be named as such?

From: Guenter <>
Date: Sat, 17 Aug 2013 03:26:41 +0200

On 14.08.2013 15:06, K. Frank wrote:
> I downloaded the 64-bit mingw-w64 version of libcurl:
> curl-7.31.0-devel-mingw64.7z
> and installed it by unzipping the file.
> In its lib64 directory I find
> libcurldll.a
> libssh2dll.a
> I might have expected them to be named
> libcurl.dll.a
> libssh2.dll.a
> with an additional dot ('.') preceding the "dll."
> This would have been consistent with the naming of the other
> libraries, e.g., libcrypto.dll.a, and seemingly more consistent
> with the naming of the .a and .def files.
true, but ...

> It's hardly a big deal -- in my compile command I specify
> "-lcurldll" rather than "-lcurl", and everything works. But
> I'm wondering if this choice of naming was intentional, and
> if so, what the reasoning is.
its exactly that: you can easily decide to link either statically or
dynamically; if you have both a libcurl.a and libcurl.dll.a in the same
directory the linker will always prefer to link against the *.dll.a; if
you specify -static then that counts for *all* libs; you cant f.e. link
one library statically and another dynamically unless you remove the
dynamic link libraries for those libs you want to link statically ...

if I have a lot of time (very unlikely ATM) then I might dig into the
MinGW makefiles, and modify them to use -l only for dynamic linkage and
for static linkage only add the static lib with full path - that should
work ...


List admin:
Received on 2013-08-17