1 编译安装库文件
hdf5下载,首先要注册。注册后下载windows下编译好的库,很费时间,只能通过浏览器,连接速度只有十几k/s。编译好的库80M+。也可以下载源码自己编译。
编译可参考该指南。https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake
首先要安装cmake 3.10+。然后执行源码目录中的bat文件。编译完成后有Hdf5-xx.zip的压缩包。将压缩包解压到其他目录即可使用。
注意事项:
源码目录名不能有空格。
编译需要10G左右的硬盘空间。因为编译完成后,需要对2600+项功能进行测试,在build\test\H5TEST文件夹中写入了大量的测试数据。
2 使用
2.1 工程设置
参考这里https://blog.csdn.net/david830_wu/article/details/63782190?locationNum=13&fps=1可以设置visual studio。
包括设置include包含目录、lib库文件目录,在项目属性-链接-附加依赖文件中,还要添加libhdf5xx.lib等几个文件。此外,如果64位库需要将解决方案配置改为64位,否则会出现无法解析的外部符号错误。
测试代码如下。设置完后应该可以正常编译。
#include "hdf5.h"
int main(){
// hid_t是HDF5对象id通用数据类型,每个id标志一个HDF5对象
hid_t file_id;
// herr_t是HDF5报错和状态的通用数据类型
herr_t status;
// 文件id = H5Fcreate(const char *文件名,
// unsigned 是否覆盖的flags,
// - H5F_ACC_TRUNC->能覆盖
// - H5F_ACC_EXCL->不能覆盖,报错
// hid_t 建立性质,hid_t 访问性质);
file_id = H5Fcreate("file.h5", H5F_ACC_TRUNC,
H5P_DEFAULT, H5P_DEFAULT);
status = H5Fclose(file_id);
// 打开刚建立的HDF文件并关闭
// 文件id = H5Fopen(const char *文件名,
// unsigned 读写flags,
// - H5F_ACC_RDWR可读写
// - H5F_ACC_RDONLY只读
// hid_t 访问性质)
hid_t file_open_id;
file_open_id = H5Fopen("file.h5", H5F_ACC_RDWR, H5P_DEFAULT);
status = H5Fclose(file_open_id);
return 0;
}