Hi,
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 ...
Gün.
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html