Difference between `libhdf5_fortran.lib` and `hdf5_fortran.lib`

Dear experts…

I’m using hdf5-1.14.6-win-vs2022_intel.msi (thanks!) and I noticed there are two (non-hl) *hdf5_fortran.lib in lib folder, libhdf5_fortran.lib and hdf5_fortran.lib.

What are the differences between them?
I’m a newbie in programming especially on windoze; is it common to have such a pair of libraries on windoze?
Isn’t it better/convenient for the latter to be listed in e.g. HDF5_Fortran_LIBRARIES if HDF5_USE_STATIC_LIBRARIES is set to “YES”?

By the way, are there any reasons for the .dlls be placed in bin folder instead of lib? (is it also a common practice on windoze?)

Thanks.
Kazuyoshi

1 Like

Just like all the binaries in the release page, we build hdf5 both static and shared, therefore there are two versions of the libs. On linux they are named “.a" and ".so” - on windows they are named “lib*.lib” and “*.lib”

Windows divide shared libraries into two parts, an import lib (.lib) and an executable lib (.dll). By definition executable objects go in the “bin” folder - NOTE that this requires the bin folder to usually be added to the PATH during execution.