HDF库使用环境搭建
来源:互联网 发布:bp算法怎么算 编辑:程序博客网 时间:2024/05/29 11:02
首先说一下需求:
在windows环境下,开发出一种对话框类程序,输入文件名或者具体数据集的名字,可以读取hdf4文件的数据,供后续使用。
一些简单介绍:
HDF格式一种数据存储格式,如果想读取其中的数据,我知道有两种方法,一种是在程序中内嵌idl控件的方法;另一种是用Hdf库的方法。第一种方法比较麻烦,因为idl语言的语法和c不同。我就采用第2种方法。
准备工作:
第2种方法需要到www.hdforg.com网站下载库文件和支持库文件,库要用HDF4的库(因为国内的hdf数据都是Hdf4的,你用hdf5作出的程序读不了hdf4的文件。其实这是版本兼容性的问题,hdforg那个公司做的这点不好),支持库是三个,包括jepg,szip,zlib,版本注意选择。另外本地装上VC开发工具。
环境搭建:
好了,废话了那么多,开始讲讲怎么搭建开发环境吧。在hdf4库解压缩后,有个文件INSTALL_WINDOWS.txt,我的环境搭建差不多就是从里面学到的,不过里面废话实在太多了。
总结起来就两个:
一是环境变量设置,一是增加包含头文件的目录和库的目录,并且添加链接库
先说环境变量设置。因为在HDF4库里使用了以下三个宏,来包含进支持库的功能,所以如果要使用支持库,就要定义这三个宏。
HDF4_EXT_ZLIB
HDF4_EXT_JPEG
HDF4_EXT_SZIP
在我的电脑,右键->属性->高级->环境变量,在用户变量那里,点击New,变量名就是宏的名字,变量值就是库的路径,将这三个宏,分别添加。
如果是用Hdf的库,注意需要将宏的名字改了
改成
HDF5_EXT_ZLIB
HDF5_EXT_JPEG
HDF5_EXT_SZIP
变量值设置方法相同。
下面来讲一下增加包含头文件的目录和库的目录,并且添加链接库;
在VC6里,打开新建工程后,在菜单“工具”下面的“选项”里目录下面,选择include files,增加包含hdf4的头文件还有支持库的头文件路径,共4个。然后选择library files,添加hdf4库和支持库的库路径还有动态链接库的库路径。然后确定保存。
在“工程”菜单下,选择“设置”,“链接”,在对象/库模块里,原来的不要去掉,在后面加上hdf4的库名和支持库的库文件名字,中间用空格分开。
在VS2005里,略有不同。头文件和库文件路径的添加在"工具"->"选项"->"项目和解决方案"->"VC++目录"里设置。链接库在“项目”->"属性"->"配置属性"->"连接器"->"输入"->"附加依赖库"里添加。
备注说明:
hdf4不支持mfc,只支持控制台程序。所以如果想编写对话框程序,直接使用Hdf4的库是不行的,会报链接错误,说找不到__errno
我的解决办法是使用hdf4的库做读hdf4文件的小程序,解析出其中的数据,将数据以一定的格式存储在一个txt文件里,然后开发个对话框程序,在对话框程序里执行调用这个小程序,然后读那个txt文件,将里面的数据读取解析出来,存储到我们用的数据结构里。
其实hdf4库的使用也就是这几个小程序使用的,那个对话框程序根本没有使用。说是小程序,其实也不小。设计到hdf文件的读取和解析,以及数据在txt文件里以何种结构来存储。在后续的对话框程序里也要解析这个txt文件。在txt文件里的结构设计和读写,是重点。
- HDF库使用环境搭建
- 编译GDAL使用最新的HDF库配置文件
- 使用C#版本的gdal库打开hdf文件
- 编译GDAL使用最新的HDF库配置文件
- [bigdata-007] Hortonworks HDF搭建流程
- 使用GDAL对HDF数据进行校正
- IDL环境下,HDF文件转TIFF格式
- ACE库使用与环境搭建
- mv5使用环境搭建
- Eclipse 使用环境搭建
- appium环境搭建、使用
- FastDFS环境搭建使用
- 使用GDAL获取HDF等数据集中的图像
- 使用GDAL对HDF数据进行geoloc校正
- 【VIVADO使用2】如何手动修改hdf文件
- 使用RadRails搭建redmine开发环境搭建
- php基础环境搭建,使用appserv搭建
- 使用NDK与环境搭建
- 今天的特别的郁闷!·
- 北大青鸟告诉你初学Java注意什么?
- 求单级圆柱齿轮减速机设计
- 算法的时间复杂度(实例)
- ADO.NET代码
- HDF库使用环境搭建
- Jquery实现无刷新验证码
- 多线程读取循环队列的实现
- 寻求上海北京工作机会,四年软件开发经验。
- Java开发最容易犯的21种错误
- 使用Java程序实现随机验证码功能的实例
- Linux 系统下ARM Linux交叉编译环境----crosstool工具
- OSG学习 osg概述以及学习方法等
- freepbx 模块开发 [翻译]