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即可。