ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-11-04 11:33:55  阅读:261  来源: 互联网

标签:CMake HDF5 windows 步骤 Hdf5 编译 版本 sdk hdf5


前言

  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版本)

步骤一:下载解压

  在这里插入图片描述

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

  在这里插入图片描述
  报错找不到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++依赖库,才好的)
   在这里插入图片描述

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

  然后缺少perl,需要安装perl,如下图:
  在这里插入图片描述
  继续编译。

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

  在这里插入图片描述
  查看错误输出:
  在这里插入图片描述
  目前放弃使用CMake软件的方法编译源码

 

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

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

  在这里插入图片描述
  在这里插入图片描述
  在这里插入图片描述

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

  在这里插入图片描述
  (这个配置之前使用之前编译的版本试过,配置错误,找不到东西,所以直接下这个了)
  在这里插入图片描述
  在这里插入图片描述

  
在这里插入图片描述

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

  在这里插入图片描述

 

安装文件布局

  在这里插入图片描述
  完成编译。

标签:CMake,HDF5,windows,步骤,Hdf5,编译,版本,sdk,hdf5
来源: https://www.cnblogs.com/qq21497936/p/15507416.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有