hdf5-hdf5-1_12_2 存在的一些问题.

1. cmake编译最后会一些编译选项不能识别 -show -shlib

2.configure编译可以识别以上选项, 另外还需要一个 --enable-cxx .

最后需要注意cmake 3.22.1 可能还有bug.

2.1 _HDF5_invoke_compiler 报 Unable to determine HDF5 C flags from HDF5 wrapper.

可能是步骤1 导致的.

2.2 _HDF5_parse_compile_line 报(missing:HDF5_INCLUDE_DIRS),   这是参数有问题,应该修改为compile_line_var include_paths_var definitions_var
    library_paths_var libraries_var libraries_hl_var

2.3 把762行_HDF5_NEED_TO_SEARCH前面的NOT去掉应该就可以了. 这里不清楚修改的对不对, 反正能用

cmake 3.24.1 又报如下错

CMake Error at F:/program/cmake/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find HDF5 (missing: HDF5_INCLUDE_DIRS) (found version "1.12.2")
Call Stack (most recent call first):
  F:/program/cmake/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  F:/program/cmake/share/cmake-3.24/Modules/FindHDF5.cmake:1018 (find_package_handle_standard_args)
  cmake/Dependencies.cmake:46 (find_package)
  CMakeLists.txt:47 (include)

option (HDF5_BUILD_CPP_LIB  "Build HDF5 C++ Library" ON)

set(HDF5_FIND_DEBUG ON)

好的,我可以为您提供一些关于使用HDF5 1.12.2版本进行数据读写的基本信息。 HDF5是一个用于处理大型科学数据集的库和文件格式。HDF5支持多种编程语言,包括C++。下面是一些使用C++和HDF5 1.12.2版本进行数据读写的基本步骤: 1. 安装HDF5 1.12.2版本库和头文件。您可以从HDF Group的网站下载安装程序。 2. 在C++代码中包含HDF5头文件,例如: ```c++ #include "hdf5.h" ``` 3. 打开HDF5文件,例如: ```c++ hid_t file_id = H5Fopen("file.h5", H5F_ACC_RDONLY, H5P_DEFAULT); ``` 这将打开名为“file.h5”的HDF5文件,以只读模式。如果您想以写入模式打开文件,可以将H5F_ACC_RDONLY替换为H5F_ACC_RDWR。 4. 读取HDF5数据集,例如: ```c++ hid_t dataset_id = H5Dopen2(file_id, "/path/to/dataset", H5P_DEFAULT); herr_t status = H5Dread(dataset_id, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); ``` 这将打开名为“/path/to/dataset”的数据集,并将其读入名为“data”的C++数组中。在读取数据集之前,请确保指定数组的正确大小。 5. 写入HDF5数据集,例如: ```c++ hid_t dataset_id = H5Dcreate2(file_id, "/path/to/new/dataset", H5T_NATIVE_DOUBLE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); herr_t status = H5Dwrite(dataset_id, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); ``` 这将在名为“/path/to/new/dataset”的路径下创建一个新数据集,并将名为“data”的C++数组写入该数据集。在创建数据集之前,请确保指定正确的数据空间。 6. 关闭HDF5文件和数据集,例如: ```c++ status = H5Dclose(dataset_id); status = H5Fclose(file_id); ``` 这将关闭打开的数据集和文件。 这是一些基本的步骤,您可以根据需要进行调整和扩展。希望这可以帮助您开始使用HDF5 1.12.2版本进行数据读写!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值