前言

  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打开工程进行安装

  

 

安装文件布局

  
  完成编译。

Hdf5开发笔记(一):hdf5介绍,在windows上编译msvc2015x64版本的更多相关文章

  1. Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示

    前言   在ubuntu上实现MPlayer播放器播放音乐.   Demo                Mplayer   MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布.此款软件 ...

  2. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

  3. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  4. [ZZ] 在windows上编译Mesa3d opengl32库

    在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...

  5. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  6. 在windows上编译wireshark源代码

    终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪..只能说要多试! windows上编译wireshark共用到三个东西:wireshark源代码.python.cygwin ...

  7. 在windows 上编译部署Rap2

    在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...

  8. Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化

    前言   Windows上mingw32版本的openssl的编译是属于比较棘手的,OpenSSL本身不提供支持..   OpenSSL 介绍   OpenSSL是一个开放源代码的软件库包,应用程序可 ...

  9. FFmpeg开发笔记(二)搭建Windows系统的开发环境

    由于Linux系统比较专业,个人电脑很少安装Linux,反而大都安装Windows系统,因此提高了FFmpeg的学习门槛,毕竟在Windows系统搭建FFmpeg的开发环境还是比较麻烦的.不过若有已经 ...

  10. Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767红胖子(红模仿)的博文大全:开发技术集合( ...

随机推荐

  1. [转帖]学会使用Kafka(八)Kafka基本客户端命令操作

    https://www.cnblogs.com/rexcheny/articles/9463811.html 主题管理 创建主题 1 kafka-topics.sh --bootstrap-serve ...

  2. 【转帖】Linux性能优化(十三)——CPU性能测试

    一.CPU上下文切换测试场景 使用sysbench模拟多线程调度: sysbench --threads=10 --time=300 threads run 使用vmstat查看CPU上下文切换: c ...

  3. 【JS 逆向百例】无限debugger绕过,某政民互动数据逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:某政务服务 ...

  4. SP5464 CT - Counting triangles 题解

    题目翻译 题意 有一个网格,左上角是 \((0,0)\),右上角是 \((x,y)\).求这个网格中一共有多少个等腰直角三角形. 输入 第一行给定一个 \(c\),表示有 \(c\) 组数据. 后面 ...

  5. Mixed spaces and tabs

    ykit打包过程中报错信息如下: 报错原因: Mixed spaces and tabs(混合空格和制表符). 大多数代码约定要求使用空格或 tab 进行缩进,因此,一行代码若同时混有 tab缩进和空 ...

  6. 使用三方jar中的@RestControllerAdvice不起作用

    背景 公司封装了自己的基础核心包core-base,里边包含了Validation的异常捕获处理类:同时开发项目有全局异常捕获处理类,经测试发现,core-base里边的不起作用 可能原因: 未扫描外 ...

  7. 3.1 C++ STL 双向队列容器

    双向队列容器(Deque)是C++ STL中的一种数据结构,是一种双端队列,允许在容器的两端进行快速插入和删除操作,可以看作是一种动态数组的扩展,支持随机访问,同时提供了高效的在队列头尾插入和删除元素 ...

  8. C/C++ 反汇编:分析类的实现原理

    反汇编即把目标二进制机器码转为汇编代码的过程,该技术常用于软件破解.外挂技术.病毒分析.逆向工程.软件汉化等领域,学习和理解反汇编对软件调试.系统漏洞挖掘.内核原理及理解高级语言代码都有相当大的帮助, ...

  9. 分布式压测之locust和Jmeter的使用

    受限于单台机器的配置问题,我们在单台机器上达不到一个很高的压测并发数,那这个时候就需要引入分布式压测 分布式压测原理: 一般通过局域网把不同测试计算机链接到一起,达到测试共享.分散操作.集中管理的目的 ...

  10. 【Linux】虚拟机太卡咋办?用云服务器Xshell配置Vmware虚拟机【技能篇】

    [Linux]用云服务器Xshell配置Vmware虚拟机[技能篇] 强烈建议本篇收藏后再食用~ 文章目录 Xshell下载 配置Vmware 尾声 平时我们使用虚拟机,可能最烦人的问题就是卡顿了.今 ...