在windows平台安装HDF5
本说明中命令均在windows Power Shell下运行,某些命令不能在cmd下执行,但可手动完成
依赖
Visual Studio 2015以上,官方测试2015版本,本次测试2015,2019版本均通过
Microsoft MPI,官网下载最新版本即可
NSIS或者WIX,官网最新版本即可
cmake,官网下载最新版本安装即可,同时安装cmake-gui
git for windows
安装过程
下载github源码
git clone https://bitbucket.hdfgroup.org/scm/hdffv/hdf5.git
拷贝配置文件到根目录,文件位置与hdf5源码目录平级
copy hdf5\config\cmake\scripts\HDF5options.cmake .
copy hdf5\config\cmake\scripts\CTestScript.cmake .
copy hdf5\config\cmake\scripts\HDF5config.cmake .
修改配置文件
禁用szip和zlib
记事本或者notepad打开HDF5options.cmake文件,找到下面几行,取消注释
### disable using ext zlib
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
### disable using ext szip
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
编译并行版本
#if (DEFINED MPI)
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF")
#endif()
创建批处理文件gen.bat,将下面内容复制到文件中,注意条目之间无空格
ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201964,CTEST_SOURCE_NAME=hdf5,STATIC_ONLY=NO -C Release -VV -O hdf5.log
其中BUILD_GENERATOR取决于Visual Studio的版本,不同版本选择不同的生成器,版本对应关系参照下图
# BUILD_GENERATOR - The cmake build generator:
# Unix * Unix Makefiles
# VS2019 * Visual Studio 16 2019
# VS201964 * Visual Studio 16 2019
# VS2017 * Visual Studio 15 2017
# VS201764 * Visual Studio 15 2017 Win64
# VS2015 * Visual Studio 14 2015
# VS201564 * Visual Studio 14 2015 Win64
# VS2013 * Visual Studio 12 2013
# VS201364 * Visual Studio 12 2013 Win64
另外CTEST_SOURCE_NAME条目指定hdf5目录名称,需与文件夹名保持一致;
运行批处理文件gen.bat,日志保存在根目录下的hdf5.log,出错可查看该文件;
安装过程可能会有很长的一段时间用于测试,最稳妥的方法是耐心等待;或者根据本人经验,观察任务管理器该进程的活动情况,如果长时间没有占用cpu或者硬盘,可能脚本卡住了,尝试按下ctrl+c,不过此举有风险,可能导致脚本中断,只能重新开始;
批处理文件执行结束后应该会在根目录或build目录下生成HDF5-X.X.X-win64.exe或HDF5-X.X.X-win64.msi文件,双击按提示安装即可,如果没有该文件,进入build目录,然后执行下面命令
cpack -C Release
安装过程中可能提示无法添加环境变量,可忽略并完成安装
可能出现问题
使用VS2015安装时出现找不到windows 8.1 sdk
可以使用visual studio 打开build\CMakeFiles\3.17.0-rc1目录下的VCTargetPath.vcxproj文件,按照提示安装8.1 sdk更新