我尝试构建第一个示例here并遇到错误。在第一行右边有一个缺少的包含声明,但我设法弄明白它应该是
#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 :(得分:3)
示例代码是为1.6
的版本hdf5
编写的,因此无法在未经修改的情况下在1.8
版本上进行编译。
如果您想让代码在1.8
上运行,则需要启用1.6
兼容性,这意味着传入标记:
-DH5_USE_16_API
到h5cc命令行,如:
h5cc -DH5_USE_16_API ./example1.c
它应该正确编译;否则你将不得不重写代码以使用1.8
API。