Visual Studio编译GDAL2.4.4(204)与Geos库,并使用pdb文件

由于接下来的工作要求,需要再次了解GDAL的VS编译方式;这里暂时不考虑GDAL3版本(因为必须整PROJ6和sqlite的库)。


GDAL与GEOS
  • GDAL中的空间谓词,一般返回bool型的方法,如intersect,contains
  • GDAL空间关系,一般返回几何运算结果,如buffer等
  • 二者一般都是由GEOS库去实际运算的;GDAL一般调用GEOS的C接口方法,它封装了GEOS的c++实际的功能实现,方法名长期稳定,不会轻易修改或者Deprecated

环境

时间:20210416
VS:2015(每个GDAL版本都有对应的nmake VS版本限制,204貌似主要是VS2015和2017,不支持旧版)
Windows:10
GDAL:2.4.4
GEOS:2.8.2


库下载

Github的Tags自己去找对应版本


GEOS
  • geos的编译没什么问题,直接使用cmake就行;
  • 需要注意的是最好是将输出的VS工程文件直接设置与当前的geos文件夹的路径一致:为了之后设置gdal的nmake.opt文件;
  • 不一致的话之后就需要手动将生成的geo_c.h文件配置好路径了。。。
GDAL

不知道为啥GDAL不弄cmake文件,所以只能使用nmake,即nmake.opt文件,修改其中的相关库的配置;

  • 使用终端cmd cd到gdal文件夹查看 .\generate_vcxproj.bat 参数
  • 使用命令如:generate_vcxproj 14.0 64 gdal_vs2015,这样就会生成对应.vcxproj
  • 修改当前文件夹的namke.opt文件,开头修改VS版本号,人家也明确说这个版本的GDAL的nmake只支持vs2015(1900)和VS2017(1910)

在这里插入图片描述

  • 然后修改GDAL_HOME,即如果你后面需要自动输出一个dll,lib啥的路径;当然也可以不修改,直接在工程里编译后拷贝是一样的 ;

在这里插入图片描述

  • 最后设置GEOS库路径,注意一定将签名的井号(#)注释符去掉!;注意最后的LIB路径其实用debug还是release都一样,因为一样大而且不影响编译。

在这里插入图片描述

  • 到这里打开vcxproj文件其实就可以直接编译了;如果想让他自动输出刚才设置的GDAL_HOME路径下;打开工程属性,加入install会输出bin,data,html三个文件夹;换成devinstall会输出lib和include文件夹;

在这里插入图片描述


总结
  • 弄清楚流程不是很困难,什么nmake,cmake,qmake都是老外整的一堆骚东西~
  • 最后的debug与release的lib大小一样,所以实际项目中使用哪个lib都可以;GEOS的也是一样;但是dll可不一样;我主要是想要pdb文件进行调试,所以还是使用了debug版本;接下来要考虑的是使用release版本进行调试!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值