没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
libkml库剖析(一)编译
libkml是用c++编写的一个库,可以在Linux and Mac OS X平台以及windows平台上使用,下面以在windows平台上为例讲解如何编译libkml。关于编译和安装libkml的详细情况可以参考:
http://code.google.com/p/libkml/wiki/BuildingAndInstalling
将libkml下载下来之后,解压,使用vs2005 打开libkml-0.5.0目录下的libkml.sln。但直接编译这个项目中的libkmlbase工程是编译不通过的,因为libkml依赖于libexpat库。
libexpat库是一个解析xml的开源库,主页为
http://expat.sourceforge.net/
下载地址为:
http://sourceforge.net/project/showfiles.php?group_id=10127
我们下载其中的expat_win32就可以了,这是一个做好的安装程序,省去了自己编译代码的麻烦。
下载expat_win32后,安装这个库。
安装好之后设置vs2005的option。
在vs2005中选择工具-》选项-》项目和解决方案-》vc++目录中选择包含文件,添加expat的安装目录下面的installdir\Source\lib,然后设置库文件,添加expat的安装目录下面的installdir\bin目录,ok。
重新编译libkmlbase ,即可以编译通过。
然后顺序编译libkmlconvenience,libkmldom,libkmlengine,libkmlregionator,libkmlxsd即可,可以全部编译通过。
libkml库剖析(二)概览
1 libkml 库
libkml是用c++编写的一个库,可以在Linux and Mac OS X平台以及windows平台上使用,下面以在windows平台上为例讲解如何编译libkml。关于编译和安装libkml的详细情况可以参考:
http://code.google.com/p/libkml/wiki/BuildingAndInstalling
将libkml下载下来之后,解压,使用vs2005 打开libkml-0.5.0目录下的libkml.sln。但直接编译这个项目中的libkmlbase工程是编译不通过的,因为libkml依赖于libexpat库。
libexpat库是一个解析xml的开源库,主页为
http://expat.sourceforge.net/
下载地址为:
http://sourceforge.net/project/showfiles.php?group_id=10127
我们下载其中的expat_win32就可以了,这是一个做好的安装程序,省去了自己编译代码的麻烦。
下载expat_win32后,安装这个库。
安装好之后设置vs2005的option。
在vs2005中选择工具-》选项-》项目和解决方案-》vc++目录中选择包含文件,添加expat的安装目录下面的installdir\Source\lib,然后设置库文件,添加expat的安装目录下面的installdir\bin目录,ok。
重新编译libkmlbase ,即可以编译通过。
然后顺序编译libkmlconvenience,libkmldom,libkmlengine,libkmlregionator,libkmlxsd即可,可以全部编译通过。
libkml库剖析(二)概览
1 libkml 库
libkml 源程序包括6个工程,分别为libkmlbase,libkmlconvenience,libkmldom,libkmlengine,libkmlregionator,libkmlxsd。
其中libkmlbase模块定义了libkml 库中基本的类,包括uri的解析,内部属性的定义,以及文件读写,时间解析,字符串解析的类的定义。 并对expat进行了包装,方便在libkml中使用。
libkmldom模块中定义了kml中所有的元素,包括Feature,Geometry等等,ibkmldom是ibkml的核心,所有的对kml的解析都在libkmldom中完成。
libkmlengine模块中定义了对kml文件和kmz文件的操作,以及bbox,feature_visitor等的定义。
libkmlregionator模块定义了对region的操作。
libkmlconvenience模块实现了csv文件转换到kml文件的功能。
ibkmlxsd 模块实现了对kml xsd 的解析。
2 libkml 使用的第三方库
expat 库,解析xml的库,在libkml并没有提供,需要单独下载。
boost 库,这个大家应该都很熟悉,c++模板库,在libkml中主要使用其智能指针的模板库。
uriparser库,解析uri的库。
zlib库,对压缩文件进行读写的库,主要用来读写kmz文件。
googletest 库,google的测试库。
3 examples
在libkml examples目录下打开examples.sln,可以找到libkml提供的例子程序,包括createkml,csvregionator,parsekml,prettykml,printstyle,sortplacemarks
剩余6页未读,继续阅读
kaimw2007
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页