gdal(集成geos+proj.4)编译(C++)C#开发版本

编译环境及软件库版本

  • 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中,如下图,注意路径不要含有空格。


gdal(集成geos+proj.4)编译(C++)C#开发版本_第1张图片

下载网站:trac.osgeo.org/geos/

2.运行“cmd.exe”,进入vs2013的安装路径中的bin文件夹。


gdal(集成geos+proj.4)编译(C++)C#开发版本_第2张图片

3.输入”vcvars32.bat”,回车,这一步是设置32bit编译环境,设置成功后会跳出原来输入的目录路径。


4.cmd中转到geos源码目录下:F:\geos-3.5.1。


gdal(集成geos+proj.4)编译(C++)C#开发版本_第3张图片

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(集成geos+proj.4)编译(C++)C#开发版本_第4张图片

② 根据需要修改输出路径,默认为GDAL_HOME =C:\warmerda\bld,我改为:


③ 设置swig的文件路径,nmake.opt文件中为:SWIG =swig.exe,修改为下载的swigwin-3.0.12绝对文件名:


④ 修改proj4库的编译信息,可参考blog.csdn.net/ivan_ljf/article/details/46958549

gdal(集成geos+proj.4)编译(C++)C#开发版本_第5张图片

⑤ 修改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++编译的,如下图:


gdal(集成geos+proj.4)编译(C++)C#开发版本_第6张图片

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.编译完成:


gdal(集成geos+proj.4)编译(C++)C#开发版本_第7张图片

你可能感兴趣的:(gdal(集成geos+proj.4)编译(C++)C#开发版本)