Firebird and Boost communities only provide the xxx.lib for their pre-built xxx.dll binaries,
and I am using MinGW-w64 v7.0.0 with GCC v8.1.0,
and this last one expects a libxxx.a file containing all the xxx.dll function symbols to link with.
For Boost, I can build it from the source code for MinGW-w64 (though I still prefer using the pre-built ones, because the build process for big toolkits like this one takes forever).
As for Firebird, it is not buildable using MinGW-w64 at all, except if patched, and I can't guarantee that the patched source files will produce a safe fbclient.dll for production.
And I have heard that newer versions of MinGW-w64 accept direct linking to a .dll,
Is this true? is it just MinGW-w64 .dlls, only C .dlls or including C++ ones, or any kind of a .dll including MSVC ones.
You may say: "Why don't I just use Msys2!?"
- Msys2 is a patch based software, and I have seen a lot of libraries like libcurl that are still not purely static (the static version, the .a one not the .dll.a one) still depends on one or more external .dlls (not the system ones).
- Msys2 is Dwarf2 based exception handling and I am using the sjlj one.
- Msys2 uses a very recent tool-chain v9.2.0 and libraries like winpthreads, libwinpthread and zstd that are no longer supported in Windows XP (Windows XP!? YES, more of my clients are still using it), so I have to downgrade the tool-chain.
So, what are my options, for linking here?
TIA.