linux编译gdal geos,使用nmake编译GDAL+GEOS(傻瓜教程)

一、编译GEOS库

(1)

nmake编译

1、解压源码,如E:\geos3.5.2\geos-3.5.2路径下

2、修改nmake.opt文件,若编译64位库,需打开geos-3.7.1文件夹中的nmake.opt文件,将WIN64

= NO改为WIN64 =

YES;32位无需修改。若编译Debug库,则将nmake.opt中的BUILD_DEBUG

= NO改为BUILD_DEBUG =

YES;Release无需修改。

3、打开VS的工具命令提示,若编32位则打开VS2013

x86 本机工具命令提示,若编64位则打开VS2013 x64

本机工具命令提示。并进入geos路径下,如cd

E:\geos3.5.2\geos-3.5.2

4、依次在命令行输入autogen.bat和nmake /f

makefile.vc进行编译

5、编译成功后,会在E:\geos3.5.2\geos-3.5.2\src目录下生成geos.lib,

geos_i.lib, geos_c_i.lib, geos.dll,

geos_c.dll等五个文件。该生成的文件可以接着用来生成GDAL库

(2)

cmake-gui编译

1、打开cmake-gui,将CMakeLists.txt拖入其中,设置编译路径,点击configure按钮。

2、设置CMAKE_INSTALL_PREFIX,即输出路径,后续编译好的bin、include、lib都会生成在该路径中。点击configure按钮,若无报错点击generate按钮。

3、打开设置的编译路径,用VS打开工程,进入批生成,选择ALL_BUILD和INSTALL(release和debug可以按需生成),点击生成即可。

4、编译完成后在输出路径有bin、include、lib文件夹,可以提供给其他人员使用。

二、编译GDAL库

(1)

在GEOS库用nmake编译的基础上。

(2)

修改nmake.opt,修改GDAL_HOME路径,如GDAL_HOME

=

"E:\gdal\gdal202\install";修改geo库依赖,首先将GEOS库前的注释去掉,分别设置GEOS_DIR、GEOS_CFLAGS和GEOS_LIB,其中GEOS_CFLAGS需要改为-I$(GEOS_DIR)/capi

-I$(GEOS_DIR)/include

-DHAVE_GEOS。特别说明,设置的GEOS_DIR路径中不能有空格,设置完成后如下所示:

GEOS_DIR=

E:\geos3.5.2\geos-3.5.2

GEOS_CFLAGS = -I$(GEOS_DIR)/capi

-I$(GEOS_DIR)/include -DHAVE_GEOS

GEOS_LIB = $(GEOS_DIR)/src/geos_c_i.lib

(3)为了生成带后缀d的debug库,需要做如下修改

在nmake.opt中(100行处)添加

!IFDEF

DEBUG

LIB_SUFFIX=d

!ELSE

LIB_SUFFIX=

!ENDIF

然后,将nmake.opt和makefile.vc中所有的

gdal$(VERSION).dll修改为gdal$(VERSION)$(LIB_SUFFIX).dll

gdal_i.lib修改为gdal_i$(LIB_SUFFIX).lib

gdal.lib修改为gdal$(LIB_SUFFIX).lib

(4)

Nmake.opt设置完成后,打开VS的工具命令提示,输入nmake

-f makefile.vc MSVC_VER=1800 WIN64=1进行编译

(5)

输入nmake -f makefile.vc MSVC_VER=1800 WIN64=1 install

生成bin、data、html文件夹

(6)

输入nmake -f makefile.vc MSVC_VER=1800 WIN64=1

devinstall生成lib和include(其实)

(7)

结束!

**注意事项:

1、在将geos库集成到GDAL时,geos库的路径不能有空格,否则文件路径会被破坏从而导致geos库中的头文件无法被识别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值