2013-09-01 69 views
0

我尝试构建第一个示例here并且出现错误。右键在第一行有一个丢失的包括语句,但我设法弄清楚它应该是HDF5示例不能正常工作

#include "hdf5.h" 

但即使是固定,我得到了更多的错误后:

$ h5cc ./example1.c 
./example1.c: In function ‘main’: 
./example1.c:66:4: error: too few arguments to function ‘H5Dcreate2’ 
In file included from /usr/include/hdf5.h:27:0, 
       from ./example1.c:6: 
/usr/include/H5Dpublic.h:104:14: note: declared here 

不知道如何解决这个问题?

+0

完成后请显示您的代码和@LeventeKurusa的标签。 –

回答

3

示例代码是针对版本1.6hdf5编写的,因此不会在未经修改的情况下在1.8版本上编译。

如果你想要得到的代码在1.8工作,你需要启用1.6兼容性,这意味着通过在标志:

-DH5_USE_16_API 

到h5cc命令行,如:

h5cc -DH5_USE_16_API ./example1.c 

它应该正确编译;否则你将不得不重写代码以使用1.8 API。

+0

或者,您可以使用标志'-DH5Dcreate_vers = 1'(如果您有新旧hdf5功能混合使用,则可能有意义)。 – Alf