Hello -
I am unable to compile on Ubuntu using the supplied HDF5 library. The
headers seem to insist on using version 1.6.
For example, the file:
{{{
#if defined( H5_USE_16_API )
@@@@
#endif
#include <hdf5.h>
#if defined( H5_USE_16_API )
@@@@
#endif
void DatagroupOpenOrCreate( hid_t parentID, const char * const groupPath ) {
hid_t groupID = H5Gcreate( parentID, groupPath, H5P_DEFAULT,
H5P_DEFAULT, H5P_DEFAULT );
}
}}}
Results in the following errors:
{{{
g++ -Wall -fexceptions -g -c Datagroup.cpp -o Datagroup.o
Datagroup.cpp:6: error: stray ‘@’ in program
Datagroup.cpp:6: error: stray ‘@’ in program
Datagroup.cpp:6: error: stray ‘@’ in program
Datagroup.cpp:6: error: stray ‘@’ in program
/usr/include/H5Gpublic.h: In function ‘hid_t DatagroupOpenOrCreate(hid_t,
const char*)’:
/usr/include/H5Gpublic.h:147: error: too many arguments to function ‘hid_t
H5Gcreate1(hid_t, const char*, size_t)’
Datagroup.cpp:10: error: at this point in file
}}}
I need to call H5Gcreate2, not H5Gcreate1. The macro H5_USE_16_API is
defined by including "hdf5.h", which is unexpected.
This is Ubuntu Linux libhdf5-serial-dev version 1.8.4-5.
Is there something I can do to explicitly get the 1.8 macro mappings? I'm
using a preexisting codebase and don't want to substitute H5Gcreate2() and
like functions everywhere.
Thanks.
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org