扩展OGR格式驱动(二)-需要外部依赖库支持
2013-05-18 11:41
190 查看
GDAL/OGR官方网站中给了编写栅格和矢量数据新格式的教程,OGR Driver Implementation Tutorial,但是没有给出具体的编译过程,这篇博文记录如何将新建的格式编入gdal/ogr。
(2) 修改完成后在ogr\ogrsf_frmts文件夹下创建spf文件夹,将这四个源文件放入其中。
(3) 修改ogrsf_frmts.h和ogrregisterall.cpp文件
在ogrregisterall.cpp中void OGRRegisterAll()函数中添加下面的代码:
在ogrsf_frmts.h中添加:
[/code]
在EXTRAFLAGS后添加:
[/code]
(2) 在nmake.opt中定义SPF_LIB
[/code]
在EXTERNAL_LIBS后添加:
(3)在ogr\ogrsf_frmts\makefile.vc添加
[/code]
在DIRLIST后追加:
在lib /out:后追加:
转自:http://www.cnblogs.com/geosky/archive/2013/05/11/new_ogr_driver2.html
一、参考“扩展OGR格式驱动(一)-无需外部依赖库”
(1) 假设已经完成ogr_spf.h、ogrspfdatasource.cpp、ogrspfdriver.cpp、ogrspflayer.cpp四个源文件的编写,ogrspfdriver.cpp文件中添加驱动注册函数定义:void RegisterOGRSPF() { OGRSFDriverRegistrar::GetRegistrar()->RegisterDriver( new OGRSPFDriver ); }
(2) 修改完成后在ogr\ogrsf_frmts文件夹下创建spf文件夹,将这四个源文件放入其中。
(3) 修改ogrsf_frmts.h和ogrregisterall.cpp文件
在ogrregisterall.cpp中void OGRRegisterAll()函数中添加下面的代码:
#ifdef SPF_ENABLED RegisterOGRSPF(); #endif
在ogrsf_frmts.h中添加:
void CPL_DLL RegisterOGRSPF();
二、修改编译配置文件
(1) 在ogr\ogrsf_frmts\generic\makefile.vc文件中定义SPF_ENABLED:!IFDEF SPF_LIB
[code]SPFDEF = -DSPF_ENABLED
!ENDIF
[/code]
在EXTRAFLAGS后添加:
EXTRAFLAGS = -I.. -I..\.. $(OGDIDEF) $(FMEDEF) $(OCIDEF) $(PGDEF) \
[code] $(XLSDEF) $(SPFDEF)
[/code]
(2) 在nmake.opt中定义SPF_LIB
# SPF Libraries
[code]SPF_INC_DIR = D:\SPF\include
SPF_LIB = D:\SPF\spf.lib other.lib
[/code]
在EXTERNAL_LIBS后添加:
EXTERNAL_LIBS= … $(SPF_LIB)
(3)在ogr\ogrsf_frmts\makefile.vc添加
!IFDEF SPF_INC_DIR
[code]SPF_DIR = spf
SPF_OBJ =spf\*.obj
!ENDIF
[/code]
在DIRLIST后追加:
DIRLIST=... $(SPF_DIR)
在lib /out:后追加:
lib /out: ... $(SPF_OBJ)
三、检验编译后结果
保存所有修改重新编译gdal/ogr库,在bin下使用ogrinfo --formats命令查看:转自:http://www.cnblogs.com/geosky/archive/2013/05/11/new_ogr_driver2.html
相关文章推荐
- 扩展OGR格式驱动(一)-无需外部依赖库
- 解决IE下不支持placeholder属性可以根据自己的需要去扩展.
- 插件描述:解决IE下不支持placeholder属性可以根据自己的需要去扩展.
- MicroPython支持SPI驱动外部Flash了
- 判断 网络地址 是否合法的正则,需要的可以参考下,支持IPV6格式的判断
- 扩展SpringMVC以支持绑定JSON格式的请求参数
- linux下编译GDAL外加扩展格式支持(五)--完
- Image类的扩展,可编辑GIF动画图片,需要Magick支持.
- gdal linux编译及扩展格式支持
- HTML格式的语法高亮类库代码,内置对C, C++, VBScript, JScript, xml的支持,可扩展,自己添加语法定义。
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)
- kindeditor本身支持上传flash功能,但是我们经常需要上传一些flv、mp4或则其它格式的视频。 其实具体的播放功能是通过jwplayer实现的。我只对kindeditor简单的修改了一下
- poi做Excel数据驱动,支持.xls和.xlsx格式的excel文档,比起jxl强大不少
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)
- 扩展GDAL,支持CNSDTF格式(一)
- JavaScript中扩展字符串与Date对象之间的转换,支持大多数日期格式的字符串(包括中文)
- RT5350的uvc驱动支持yuv格式摄像头成功
- 扩展GDAL,支持CNSDTF格式(一)
- 扩展SpringMVC以支持绑定JSON格式的请求参数
- TextBox的扩展,支持文件夹和各类文件的拖入,同时可设置过滤文件格式!