It seems like the content of H5pubconf.h differs between 32 & 64-bit builds. On my Windows computer, I observe the following differences:
* H5_HAVE_SETJMP is only defined in 64-bit.
* H5_SIZEOF_SIZE_T is 8 in 64-bit and 4 in 32-bit.
I'm used to a build setup where the "include" folder can be shared between 32- & 64-bit builds when redistributing C/C++ libraries. This yields a folder structure with "bin", "bin64", "include", "lib" & "lib64" folders. My impression is that this setup is fairly common on both Windows and Linux.
Could it be possible to either (in order of preference):
* Add some preprocessor magic around the defines, so that they are configured to correct values in both 32- & 64-bit (e.g. a cross-platform variant of #ifdef _WIN64).
* Rename H5pubconf.h to H5pubconf[32|64].h, and add some kind of wrapper header that includes the correct H5pubconf-variant.
* More clearly document the differences, so that library clients are aware of these subtle differences.
Build setup:
* HDF5 1.8.11 with CMake build.
* Windows 7 SP1
* MSVC 11 (Visual Studio 2012)
Thanks in advance,
Fredrik Orderud