I am having trouble with building my own application using Visual Studio and CMake. The full list is also described here:
As of now, my simple program compiles but when I execute it, the error
“The procedure entry point H5Pset_virtual could not be located in the dynamic link library […]\hdf5_cpp.dll.”
appears.
Edit: I updated from 1.10.1 to 1.10.4, but similar behavior. The procedure entry point is different though, now it is H5P_CLS_DATASET_ACCESS_ID_g.
Micheal, can you describe your setup a little bit? Which Windows version? Which binaries? Static? Dynamic?
H5Pset_virtual is in hdf5.dll (not hdf5_cpp.dll). You can verify that by running dumpbin /exports hdf5.dll | findstr H5Pset_virtual. You can find other symbols/exports the same way. (dumpbin /symbols)
thanks for your answer. I think I have just sorted it out, thanks to a user on stackoverflow. I am on Windows 10, using Visual Studio 15 2017, CMake 3.10, and HDF5 1.10.4.
After dynamic linking I got this error, apparently due to another hdf5.dll from a Paraview installation on my computer.
I am trying static linking now in order to avoid this collision.
EDIT: Static linking works now and dynamic linking depends on the PATH. Is static linking a reasonable solution in such a situation or what is the preferred approach to handle such a situation?