Our binaries redistribute the MS CRT dlls that are used to build the binaries. Because of the danger of using different CRTs (HDF lib uses one and user program uses different one) and the possible memory corruption with allocations, we build with /MD and provide the CRT with our binary.
Hopefully, as more people use CMake and build a common knowledge of using CMake, those wishing to build alternative versions of HDF will share their code changes. Allen On Wednesday, June 05, 2013 09:34:37 AM Michael Jackson wrote: > Funny, I actually _prefer_ the DLL builds because I distribute the runtime > C/C++ libraries as allowed by MS. Depending on how one is using the HDF5 > executables/libraries having each library linked statically against their > own C/C++ libraries can also lead to problems because of how memory is > allocated/deallocated in each library version. There are 2 evils here and > the idea is to pick the least of them. If anything I would petition the > HDFGroup to provide BOTH a dynamically linked AND a statically linked > runtime version. > > Just my 2 cents. Then again, I build my own HDF5 for our project precisely > because of issues like this. > ___________________________________________________________ > Mike Jackson Principal Software Engineer > BlueQuartz Software Dayton, Ohio > [email protected] www.bluequartz.net > > On Jun 5, 2013, at 8:24 AM, Pedro Vicente <[email protected]> wrote: > > Hi Allen, Ward > > > > I have a request regarding your new CMake Windows build system, could you > > add an option to make the build static regarding the Microsoft libraries > > (MSVCR100D.dll) ? > > > > Starting with version 4.3.1, NCO > > > > http://nco.sourceforge.net/ > > > > uses the HDF5 and netCDF Windows libraries made with your CMake system, > > and this is causing problems for NCO users, as explained here > > > > https://sourceforge.net/projects/nco/forums/forum/9830/topic/8345151 > > > > and here > > > > https://sourceforge.net/projects/nco/forums/forum/9829/topic/8417103 > > > > > > This is just a matter of changing the compiler flag to /MT(d) > > > > http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx > > > > Using a dynamic build is just a bad idea, because of these DLL issues. > > > > I have some Windows executables from code I did in the early 90's , that > > unfortunately I cannot run today, just because I linked them with DLLs, > > with the DLLs from the Visual Studio from that time, that do not exist > > anymore (it seems every new version they change the Visual Studio Dlls). > > > > Because of this I do not use Dlls, I know that eventually something will > > go wrong :-) > > > > Pedro > > > > ------ > > Pedro Vicente, Earth System Science > > University of California, Irvine > > http://www.ess.uci.edu/ > > > > > > _______________________________________________ > > Hdf-forum is for HDF software users discussion. > > [email protected] > > http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org > > _______________________________________________ > Hdf-forum is for HDF software users discussion. > [email protected] > http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org _______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
