编译环境及软件库版本
- win10 64bit系统 + VS2013
- gdal-2.2.1 + geos-3.5.1 + proj-4.9.3 + swigwin-3.0.12
下载编译geos
1.下载geos-3.5.1.tar.bz2,解压后放在F:\geos-3.5.1中,如下图,注意路径不要含有空格。
下载网站:trac.osgeo.org/geos/
2.运行“cmd.exe”,进入vs2013的安装路径中的bin文件夹。
3.输入”vcvars32.bat”,回车,这一步是设置32bit编译环境,设置成功后会跳出原来输入的目录路径。
4.cmd中转到geos源码目录下:F:\geos-3.5.1。
5.依次执行以下命令:
autogen.bat
nmake /f makefile.vc
编译成功后,会在F:\geos-3.5.1\src目录下生成geos.lib, geos_i.lib, geos_c_i.lib, geos.dll, geos_c.dll等五个文件。
下载编译proj.4
1.下载proj-4.9.3.tar.gz,解压后放在F:\proj-4.9.3中,下载网站:trac.osgeo.org/proj/
2.执行上面的2、3步设置32bit编译环境。
3.进入proj4的源码目录,执行以下命令:
nmake /f makefile.vc
nmake /f makefile.vc install-all
编译完成后,会在C盘创建PROJ目录,包含:bin、lib、share、include四个文件夹,其中会有proj_api.h、 proj.lib 、proj_i.lib 、proj.dll等文件。也会在F:\proj-4.9.3\src目录中生成proj.dll等文件。
下载编译gdal
1.下载swigwin-3.0.12.zip,解压到本地,下载地址:sourceforge.net/projects/swig/files/swigwin/
2.下载gdal221.zip,解压到本地,官网下载地址:trac.osgeo.org/gdal/wiki/DownloadSource
3.修改gdal中的nmake.opt文件
① 修改编译器版本,我的是VS2013
② 根据需要修改输出路径,默认为GDAL_HOME =C:\warmerda\bld,我改为:
③ 设置swig的文件路径,nmake.opt文件中为:SWIG =swig.exe,修改为下载的swigwin-3.0.12绝对文件名:
④ 修改proj4库的编译信息,可参考blog.csdn.net/ivan_ljf/article/details/46958549
⑤ 修改geos库的编译信息,可参考blog.csdn.net/ivan_ljf/article/details/46958549
4.(仅编译C#版本需要)修改gdal源码中的错误,参考www.cnblogs.com/GIScore/p/5966470.html和blog.sina.com.cn/s/blog_8cae15e90102vj1w.html进行修改。
5.执行geos编译的2、3步设置32bit编译环境。
6.进入gdal的源码目录:F:\gdal-2.2.1,执行以下命令:
nmake /f makefile.vc
nmake /f makefile.vc install
nmake /f makefile.vc devinstall
执行以上步骤后会第3步设置的输出路径中生成对应文件夹,里面的文件是用来提供C++编译的,如下图:
7.将geos编译生成的geos.dll, geos_c.dll文件和proj4编译生产的proj.dll文件复制到上面的bin文件中。
8.(仅编译C#版本需要)cmd中进入到F:\gdal-2.2.1\swig\csharp目录下,执行以下命令:
nmake /f makefile.vc
nmake/f makefile.vc install
9.编译完成: