HDF5/CGNS-从源代码编译HDF5和CGNS
CFD General Notation System (CGNS)是CFD软件中非常重要的数据格式,正在得到越来越广泛的应用,CGNS 提供了一个通用的可移植且可扩展的标准,用于存储和检索计算流体动力学 (CFD)的分析数据。 它由一个自由和开放软件。 它是自我描述的、独立于机器的、有据可查的,也是美国研究所航空航天 (AIAA)推荐标准。
HDF5 (Hierarchical Data Format) 由美国伊利诺伊大学厄巴纳-香槟分校 UIUC (University of Illinois at Urbana-Champaign) 开发,是一种常见的跨平台数据储存文件,可以存储不同类型的图像和数码数据,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。
HDF5
The HDF5® Library & File Format - The HDF Group
HDF5在官网和github上提供了源代码和编译好的二进制文件,二进制文件可以直接使用。
Linux下的HDF5编译较为简单,只需要以下步骤:
mkdir build
cd build
cmake ..
make -j
make install
在“cmake ..”命令中需要注意指定HDF5的安装目录,默认是安装到系统位置,也可以自己指定位置,但是要记下自己指定的位置,稍后CGNS需要。
HDF5没有必需的依赖库,如果需要的话可以自行安装SZIP、ZLIB等库。
通常,以上命令执行完成后,HDF5就已经安装到了预定位置。如果没有cmake,也可以使用configure。
CGNS
由于CGNS依赖HDF5,因此在编译CGNS时需要先编译HDF5,并在编译CGNS时制定HDF5的路径。在确保HDF5正确安装完成后,再编译CGNS。
Windows下使用CMake+Visual Studio编译CGNS,链接静态库时,需要一并链接lib中的libaec.lib、libszaec.lib、zlib-static.lib。
链接时提示HDF5库缺少 __imp_StrStrIA (H5system.obj)的问题,需要在附加依赖项中添加“shlwapi.lib”。
Linux步骤:
mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH=/path/to/hdf5
make -j
make install
在"cmake .."命令中需要注意指定CGNS的安装目录,默认是安装到系统位置,也可以自己指定位置。“-DCMAKE_PREFIX_PATH”是为了指定刚刚HDF5的安装路径,路径正确的话会有如下输出:
-- HDF5 find comps: C;shared
-- HDF5 C libs:1 static: and shared:1
-- HDF5-1.14.3 found: INC=/path/to/hdf5/include TOOLS=/path/to/hdf5/bin HDF5_BUILD_SHARED_LIBS=YES
-- HDF5 link libs: hdf5-shared
否则就会提示:
Could NOT find HDF5 (missing: HDF5_DIR)
通常,以上命令执行完成后,CGNS也已经安装到了预定位置。如果没有cmake,也可以使用configure。

浙公网安备 33010602011771号