win10x64位+nmake编译geos3.7.1

一、使用nmake编译geos3.7.1(已验证)

说明:使用nmake进行编译,最新的geos3.13似乎已经不能用nmake进行编译了,不过3.7.1已经够用了。

1、 解压geos-3.7.1,定位到根目录下的namke.opt文件,这个文件控制着nmake编译的一些参数。

2、 打开nmake.opt,找到如下片段:

######################################################################

# Set WIN64=YES if you are building for 64-bit windows (x64).

# Alternatively, pass WIN64=YES as NMAKE command line argument.

######################################################################

!IFNDEF WIN64

WIN64 = NO

!ENDIF 

       通过注释知道这里控制编译出的是64位版本还是32位版本,我这里用的64版本,所以改为WIN64=YES。 

3、 再次找到如下片段:

# Set BUILD_DEBUG to YES if you want to make debug build

# and to prepare not optimized binaries. 

!IFNDEF BUILD_DEBUG

BUILD_DEBUG = NO

!ENDIF 

同样通过注释知道这里控制编译出的是Release版本还是debug版本,我这里用的Release版本,所以不用修改BUILD_DEBUG值。

 

4、 修改好配置之后,找到VS2015的本机工具命令提示符,CD到geos-3.7.1文件夹,输入命令:

nmake /f makefile.vc 

5、 然后等待编译完成就可以了,最终的输出结果在geos-3.7.1文件夹的src文件夹里面。

 

注:如果需要Debug版本,那么可以修改对应的配置用同样的方式编译一边就可以了,它们是以_d后缀来区分的(geos_d.dll)。

 

二、GDAL集成geos进行编译(已验证,编译不通过)

1、配置GEOS(修改GDAL目录下的nmake.opt文件)

# Uncomment for GEOS support (GEOS >= 3.1.0 required)

#GEOS_DIR=C:/warmerda/geos

#GEOS_CFLAGS = -I$(GEOS_DIR)/capi -I$(GEOS_DIR)/source/headers -DHAVE_GEOS

#GEOS_LIB     = $(GEOS_DIR)/source/geos_c_i.lib

 

GEOS_DIR=C:\gdal\geos-3.7.1

GEOS_CFLAGS = -I$(GEOS_DIR)/capi -I$(GEOS_DIR)/src/headers -DHAVE_GEOS

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

然后在GEOS_DIR\src文件夹下新建一个headers文件夹,将geos文件夹里面的include里面的geos文件夹拷贝到headers(这个目录就是gdal里面的nmake.opt文件里面geos的头文件夹),编译gdal即可。

posted @ 2024-09-22 13:47  SimpleGIS  阅读(26)  评论(0编辑  收藏  举报