OGR注册OCI Spatial驱动以及gdal源码调试问题
来源:互联网 发布:有什么好听的网络红歌 编辑:程序博客网 时间:2024/05/31 18:47
最近做的项目同时涉及到SQL 数据库和oracle数据库,想到要把以前封装好的ADO和OCI同时加载,加上oracle 和SQl 有些操作的语句不一样觉得麻烦,于是想用开源的OGR直接对数据库操作。在http://www.gdal.org/ogr/ogr_formats.html里可以查看到OGR同时支持SQL Spatial和Oracle Spatial 数据库的读写,于是开始研究用gdal中的OGR对oracle spatial数据库进行操作。
一开始以为很快,可是在open 数据库的时候就出问题了,调试源码进去才发现OCI注册函数的开关没有打开。由于先前老大做的是栅格按理数据库的支持已经没问题所以就没再去想配置的问题,可是调试编译了一天还是无法调用注册函数。后面才发现GDAL 的栅格和矢量的开关不一样,于是找到了OGR配置文件的开关,将IFNDEF OCIPlugin 改为 IFDEF OCIPLUgin,这样就可以注册Oracle Spatial驱动。后面的操作都很顺利
这里主要是想提,如何在一个程序中调试调用的库文件的源码。
通常情况将库的源码属性调试信息进行修改,以当前程序的exe为启动项。 然后将编译好的lib 文件和dll文件拷贝到当前的程序目录下。同时当前的程序的输出路径改到库的源码所在路径,总而言之要使 exe 文件和lib同步。这样就可以调用进去了。
但是对于gdal还是花了半天的时间进行编译,一是 因为每次编译要30分钟以上,二是因为这个工程的特殊性,和其他的工程不一样,你点击生成解决方案和重新生成解决,无论你选的是不是Debug 版本,都无法调试。需要在属性里修改命令, 在makefile.vc 后面加上DEBUG=1就OK了。查看cmake文件,你会发现 makefile.vc 默认的为Release版本,必须在后面加DEBUG=1 才是Debug版本。 如果哪天你和我一样点Debug都无法进行代码的调试话,那不妨换个思路,查看真正控制的是不是配置文件。
一开始以为很快,可是在open 数据库的时候就出问题了,调试源码进去才发现OCI注册函数的开关没有打开。由于先前老大做的是栅格按理数据库的支持已经没问题所以就没再去想配置的问题,可是调试编译了一天还是无法调用注册函数。后面才发现GDAL 的栅格和矢量的开关不一样,于是找到了OGR配置文件的开关,将IFNDEF OCIPlugin 改为 IFDEF OCIPLUgin,这样就可以注册Oracle Spatial驱动。后面的操作都很顺利
这里主要是想提,如何在一个程序中调试调用的库文件的源码。
通常情况将库的源码属性调试信息进行修改,以当前程序的exe为启动项。 然后将编译好的lib 文件和dll文件拷贝到当前的程序目录下。同时当前的程序的输出路径改到库的源码所在路径,总而言之要使 exe 文件和lib同步。这样就可以调用进去了。
但是对于gdal还是花了半天的时间进行编译,一是 因为每次编译要30分钟以上,二是因为这个工程的特殊性,和其他的工程不一样,你点击生成解决方案和重新生成解决,无论你选的是不是Debug 版本,都无法调试。需要在属性里修改命令, 在makefile.vc 后面加上DEBUG=1就OK了。查看cmake文件,你会发现 makefile.vc 默认的为Release版本,必须在后面加DEBUG=1 才是Debug版本。 如果哪天你和我一样点Debug都无法进行代码的调试话,那不妨换个思路,查看真正控制的是不是配置文件。
- OGR注册OCI Spatial驱动以及gdal源码调试问题
- GDAL/OGR 调试方式编译
- GDAL/OGR
- GDAL/OGR读DXF中文乱码问题
- GDAL源码剖析(十一)之OGR投影说明
- GDAL源码剖析(十一)之OGR投影说明
- GDAL/OGR创建要素类中文乱码问题
- Downloading GDAL/OGR Source
- gdal之OGR入门
- GDAL之OGR入门
- GDAL(OGR)库
- GDAL之OGR入门--OGR体系结构
- 【GIS】GDAL之OGR入门
- gdal - ogr简单对象模型
- GDAL:2.OGR空间参考
- GDAL:3.OGR库说明
- gdal - ogr简单对象模型
- GDAL 2.0+OGR读写矢量
- Oracle SCN headroom、ORA-19706 和_external_scn_rejection_threshold_hours 参数 说明
- <script>alert(1)</script>
- Win7+Ubuntu11.10(EasyBCD硬盘安装)
- 浅谈Cloud Foundry中cloud_controller的postgres数据库
- Java--this关键字
- OGR注册OCI Spatial驱动以及gdal源码调试问题
- Spring基础介绍
- Can't connect to MySQL server on '127.0.0.1' (10061)
- 解决错误:Re-installation failed due to different application signatures
- 1111就要来了。。。
- 深入Java核心 Java内存分配原理精讲
- 习题1.5
- 数据库三范式
- webservice的原理及概念