matlab的matio库需要使用到hdf5,编译hdf5的msvc2015x64版本。
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”,群内与博文同步更新)
报错找不到C编译器,如下图:
打开Visual Studio Installer,修改软件,所有的安装平台sdk只留一个windows版本的sdk,如下图:
修改等待安装完成。
弄完后重启,继续:
查看具体原因,打开CMakeOutput.txt文件:
是因为连接不到kernel32.lib,百度找到是:
Since kernel32.lib is a part of Windows SDK, try installing or reinstalling it.
那么我们尝试卸载所有的windows sdk,然后安装一个,再重启再试,又缺少ucrtd.lib,如下图:
然后把VC++的环境也给加上,就好了(之前也加了,但是没用,装了VS2015然后VS2017估计是冲掉覆盖了,所以本质上是卸载了sdk,卸载了所有的vc++,然后重新安装sdk和vc++依赖库,才好的)
然后缺少perl,需要安装perl,如下图:
继续编译。
查看错误输出:
目前放弃使用CMake软件的方法编译源码
(这个配置之前使用之前编译的版本试过,配置错误,找不到东西,所以直接下这个了)
完成编译。