Creating DLL to use H5 functions

Hello!

I’m currently trying to write a DLL that will be used to write data from some external sources into H5 files. I’m doing this in Visual Studio so I followed the instructions from “USING_HDF5_VS” (also attached), but whenever I try to build my DLL I get errors about “unresolved external symbol H5T_STD_I32LE_g, H5T_NATIVE_INT_g, H5P_CLS_DATASET_CREATE_ID_g”. Nothing else in my entire file seems to be causing any issues. I’ve already added paths to /include and /lib like the instructions say, so what am I missing to fix these errors? I’ve attached my current DLL as a .zip folder if that is helpful.

I’m also aware that there is already an hdf5.dll, but I’m a bit unsure how to use it. How do I know what functions I can call from it, or can I just assume that I can call any function like H5Fcreate, H5Dcreate, etc.?

Any guidance would be appreciated!
Thanks.

write_h5.zip (6.6 MB)

USING_HDF5_VS.txt (3.8 KB)

Having just reviewed the USING_HDF5_VS.txt file there is a small error in that for building dynamically (*.dll), only the hdf5.lib is required on the “Additional Dependencies” line. Of course, the “H5_BUILT_AS_DYNAMIC_LIB” compile definition is needed.

The hdf5.h file only lists and includes the public APIs.

I suggest you take a look at the HDF5Examples provided with the hdf5 binary. Also note that dynamic linking requires the runtime path be updated to include the hdf5 bin directory, with the dlls.