Re: Question about static and shared libraries and their usage in a binary on Windows in a autotools project
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
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
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
>> 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
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