Re: Question about static and shared libraries and their usage in a binary on Windows in a autotools project

2021-08-11 Thread Vincent Torri
On Wed, Aug 11, 2021 at 3:44 PM Alexei Podtelezhnikov
 wrote:
>
>
>
> >> And as I prefer DLL compared to static lib, I know what to do :-)
> >
> > I have the distinct impression that static libraries are rarely used under 
> > Windows any more.
>
> Perhaps I am off base here. Isn’t this why DLL comes paired with a LIB 
> wrapper, while static is just LIB. VC links with LIB regardless.

Visual Studio uses indeed .lib by default for the import library (what
you call the lib wrapper) and for the static library.

libtool, meson and cmake (not sure for cmake) are using .dll.a for the
import lib

Note that having an import lib is not necessary, it's perfectly
possible to link against the DLL. The GNU linker allows this. See
https://sourceware.org/binutils/docs/ld/WIN32.html, section "direct
linking to a DLL" for more information.

Vincent Torri



Re: Question about static and shared libraries and their usage in a binary on Windows in a autotools project

2021-08-11 Thread Vincent Torri
On Wed, Aug 11, 2021 at 3:27 PM Bob Friesenhahn
 wrote:
>
> On Wed, 11 Aug 2021, Vincent Torri wrote:
> >
> > The only solution I can see is : forcing to have only one specific
> > library. either static or shared, and throw an error if the wrong lib
> > is chosen at configure time.
> >
> > And as I prefer DLL compared to static lib, I know what to do :-)
>
> I have the distinct impression that static libraries are rarely used
> under Windows any more.
>
> While useful for debugging, a lot of projects just don't produce them
> any more.

mupdf was an example of a lib that produced a static lib on Windows
and Unix, but in the latest version, they finally added the build of a
shared lib

Vincent Torri



Re: Question about static and shared libraries and their usage in a binary on Windows in a autotools project

2021-08-11 Thread Bob Friesenhahn

On Wed, 11 Aug 2021, Alexei Podtelezhnikov wrote:





And as I prefer DLL compared to static lib, I know what to do :-)


I have the distinct impression that static libraries are rarely used under 
Windows any more.


Perhaps I am off base here. Isn’t this why DLL comes paired with a LIB wrapper, 
while static is just LIB. VC links with LIB regardless.


That makes sense.  The key issue is if the consumer of the header file 
wants/needs to have dllimport/dllexport enabled.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Public Key, http://www.simplesystems.org/users/bfriesen/public-key.txt

Re: Question about static and shared libraries and their usage in a binary on Windows in a autotools project

2021-08-11 Thread Alexei Podtelezhnikov



>> And as I prefer DLL compared to static lib, I know what to do :-)
> 
> I have the distinct impression that static libraries are rarely used under 
> Windows any more.

Perhaps I am off base here. Isn’t this why DLL comes paired with a LIB wrapper, 
while static is just LIB. VC links with LIB regardless.


Re: Question about static and shared libraries and their usage in a binary on Windows in a autotools project

2021-08-11 Thread Bob Friesenhahn

On Wed, 11 Aug 2021, Vincent Torri wrote:


The only solution I can see is : forcing to have only one specific
library. either static or shared, and throw an error if the wrong lib
is chosen at configure time.

And as I prefer DLL compared to static lib, I know what to do :-)


I have the distinct impression that static libraries are rarely used 
under Windows any more.


While useful for debugging, a lot of projects just don't produce them 
any more.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Public Key, http://www.simplesystems.org/users/bfriesen/public-key.txt