I'm having difficulty statically linking in the HDF5 library on Windows. I apologize if this question is beneath this forum.
I used CMake on Windows with VS2010 to produce libhdf5.lib (5 mb) and libhdf5_hl.lib with the EMBEDDED_LIBINFO option set.
Jumping over to linux "nm -s" on the .libs shows the symbols I guess I'd expect:
_H5TBmake_table in hdf5_hl.dir/Release/H5TB.obj
_H5PTclose in hdf5_hl.dir/Release/H5PT.obj
_H5Fopen in hdf5.dir/Release/H5F.obj
When I try to link against the .libs in VS2010 with a simple test project using the headers from the source tarball I get a dozen linker errors:
test2.obj : error LNK2001: unresolved external symbol __imp__H5TBmake_table
test2.obj : error LNK2001: unresolved external symbol __imp__H5Tclose
test2.obj : error LNK2001: unresolved external symbol __imp__H5open
I'm guessing the problem is the name mangling with the __imp__ stuff? How do I fix that? Simply wrapping the HDF includes in 'extern "C"' did not help.