前言

  matlab的matio库需要使用到hdf5,编译hdf5的msvc2015x64版本。

HDF5介绍

  HDF(Hierarchical Data Format)是一种设计用于存储和组织大量数据的文件格式,最开始由美国国家超算中心研发,后来由一个非盈利组织HDF Group支持.HDF支持多种商业及非商业的软件平台,包括MATLAB、Java、Python、R和Julia等等,现在也提供了Spark.其版本包括了HDF4和现在大量用的HDF5。
  HDF5是用于存储和管理数据的数据模型、库和文件格式。它支持无限多样的数据类型,专为灵活高效的I/O以及高容量和复杂数据而设计。HDF5具有可移植性和可扩展性,允许应用程序在使用HDF5的过程中不断发展。HDF5技术套件包括用于管理、操作、查看和分析HDF5格式数据的工具和应用程序。
  一个HDF5文件可以被看作是一个组(类Unix的文件系统层次结构)包含了各类不同的数据集,数据集可以是图像、表格,甚至是PDF文件和Excel.HDF5中的两大核心就是组结构和数据集。

 
下载

  官网:https://www.hdfgroup.org
  QQ群:1047134658(点击“文件”搜索“hdf5”,群内与博文同步更新)

 
编译HD5(msvc2015x64版本)

步骤一:下载解压

  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_f5

步骤二:CMake配置,解决“CMAKE_C_COMPILE”

  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_数据集_02
  报错找不到C编译器,如下图:
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_f5_03
  打开Visual Studio Installer,修改软件,所有的安装平台sdk只留一个windows版本的sdk,如下图:
   Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_数据_04
  修改等待安装完成。
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_vc++_05
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_vc++_06
  弄完后重启,继续:
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_vc++_07
   查看具体原因,打开CMakeOutput.txt文件:
   Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_数据集_08

   是因为连接不到kernel32.lib,百度找到是:

Since kernel32.lib is a part of Windows SDK, try installing or reinstalling it.

  那么我们尝试卸载所有的windows sdk,然后安装一个,再重启再试,又缺少ucrtd.lib,如下图:
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_vc++_09
  然后把VC++的环境也给加上,就好了(之前也加了,但是没用,装了VS2015然后VS2017估计是冲掉覆盖了,所以本质上是卸载了sdk,卸载了所有的vc++,然后重新安装sdk和vc++依赖库,才好的)
   Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_vc++_10

步骤三:CMake配置,解决“perl”

  然后缺少perl,需要安装perl,如下图:
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_f5_11
  继续编译。

步骤四:CMake配置,卡N久无法解决

  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_perl_12
  查看错误输出:
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_perl_13
  目前放弃使用CMake软件的方法编译源码

 
编译HD5(官方提供命令批处理的)

步骤一:下载带有cmake版本的

  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_f5_14
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_数据集_15
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_perl_16

步骤二:选择VS2015-64.BAT运行并CMake配置

  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_数据集_17
  (这个配置之前使用之前编译的版本试过,配置错误,找不到东西,所以直接下这个了)
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_perl_18
  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_vc++_19

  
Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_f5_20

步骤三:使用VS打开工程进行安装

  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_数据_21

 
安装文件布局

  Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本_vc++_22
  完成编译。