pcl flann/io/hdf5.h无法编译

我在PCL教程中尝试实现Cluster Recognition and 6DOF Pose Estimation using VFH descriptors这个教程,官方网址就是这个网址
使用的是window 10,vs 2015,pcl 1.8.0
但是在训练阶段始终无法编译通过,原因出在#include <flann/io/hdf5.h>这个链接库操作上。
(教程最后表示,Windows系统下需要先安装HDF5 1.8.7 Shared Library,所以说,要先把教程看完再找问题。我并没有安装,采用的是下面的方法)
打开报错文件,发现问题出在第33行

#ifndef FLANN_HDF5_H_
#define FLANN_HDF5_H_

#include <hdf5.h>//此处报错

#include "flann/util/matrix.h"

在这里有一些奇怪,这些代码是写在hdf5.h文件之中的,可是在这个文件之中又引用了库文件hdf5.h,导致总是编译不通过。
在网上找了半天的解决方案,发现基本上都是在Ubuntu上,或者是安装过程的问题。想要重新下载一份hdf5.h文件也很难找到。
由于这是在flann库中的头文件,于是想opencv中的相应库文件是否能够实现同样功能,可是把opencv库中的hdf5.h导入后,问题也是出在#include <hdf5.h>之上。因此,应该电脑环境目录中存在另一份hdf5.h文件,对一些基本的格式进行了定义。
我在pcl的3rdParty中VTK库中发现了相应的文件,把报错行改为#include <vtkhdf5/hdf5.h>即可成功运行。
把文件导入到环境目录中应该也可以运行

猜你喜欢

转载自blog.csdn.net/id00000/article/details/80420001
pcl