GDAL安装及配置保姆级教程(WIN10 VS2015 C#)

吐槽一下我校,感觉老师们总觉得我们可以自学成才的说。也没有提到过GDAL(难道是老师提到过,但我上课没有认真听讲???),直到写作业遇到了瓶颈找资料才发现了这个库,搜集了好多资料,捣鼓了半天终于安装配置好了。。。
参考:

https://blog.csdn.net/u011574296/article/details/76565703

https://blog.csdn.net/u012505618/article/details/52724060
https://blog.csdn.net/zhangying_496/article/details/51258862
——————————————————————————————————————————

我的电脑:WIN10,VS2015,64位

第一步:下载GDAL
官网:http://trac.osgeo.org/gdal/wiki/DownloadSource
我下载的是2.2.3

解压后放在我在D盘建的一个GDAL文件夹里,路径D:\GDAL

第二步:下载swigwin(注意是swigwin,不要下载错)

这个是用来进行gdal的C#编译的,如果不用C#的,这一步可以忽略

下载官网:https://sourceforge.net/projects/swig/files/swigwin/

我下载的是swigwin3.0.12,放在路径D:\GDAL里

第三步:进行各种修改
打开gdal-2.2.3文件夹,找到nmake.opt,用文本编辑器打开,我用的是notepad++
(1) 找到GDAL_HOME,修改路径

原来是这样的:

改成这样:(在GDAL文件夹里新建了一个gdal2.23文件夹,之后编译后的文件就在这里了)

(2)找到下面红框里的

改成:

第三步:进行编译
(1)进入vs2015开发人员命令提示

(2)进入cmd,输入cd D:\GDAL\gdal-2.2.3,进入之前下载的gdal的路径

然后输入 nmake /f makefile.vc

这一步成功后,再输入 nmake /f makefile.vc install

这一步成功后输入:nmake /f makefile.vc devinstall

上面三个命令成功执行后,D:\GDAL\gdal2.23 文件夹里会出先这么几个文件夹:

到现在,其实编译已经完成,但是我要用C#,所以还要进行以下编译

第四步:编译C#

(1)打开 D:\GDAL\gdal-2.2.3,找到nmake.opt (就是之前编译的时候的那个文件),找到SWIG=swig.exe

改成下面这样(之前下载的swigwin文件的存放路径)

(2)打开 D:\GDAL\gdal-2.2.3\swig\csharp\AssemblyInfo.cs 文件
找到第94行,把这一行注释掉

(3)打开D:\GDAL\gdal-2.2.3\swig\csharp\gdal\GdalPINVOKE.cs
               D:\GDAL\gdal-2.2.3\swig\csharp\ogr\OgrPINVOKE.cs
               D:\GDAL\gdal-2.2.3\swig\csharp\osr\OsrPINVOKE.cs

  修改188~193行:将重复的代码注释掉,解决接口重定义的问题。
(下面这个是其中的一个,三个都是这么修改的)

(4)D:\GDAL\gdal-2.2.3\swig\csharp\gdal\Band.cs|Dataset.cs|Driver.cs,修改第17行,解决接口成员名错误问题。

public Band(IntPtr cPtr, bool cMemoryOwn, object parent) : base(GdalPINVOKE.Band_SWIGUpcast(cPtr), cMemoryOwn, parent)

 public Dataset(IntPtr cPtr, bool cMemoryOwn, object parent) : base(GdalPINVOKE.Dataset_SWIGUpcast(cPtr), cMemoryOwn, parent)

 public Driver(IntPtr cPtr, bool cMemoryOwn, object parent) : base(GdalPINVOKE.Driver_SWIGUpcast(cPtr), cMemoryOwn, parent) 

(5)上面的修改完成后,回到cmd里,进入D:\GDAL\gdal-2.2.3\swig\csharp之下

依次执行命令:nmake /f makefile.vc
                       nmake /f makefile.vc install

等编译成功后,D:\GDAL\gdal2.23 文件夹里会出现csharp文件夹,csharp文件夹里有8个.dll文件。

至此,gdal的C#就编译成功了。
——————————————————————————————————————————
下面是在VS2015里进行配置。
1、新建一个窗体文件
2、在引用里添加D:\GDAL\gdal2.23\csharp里的四个 _csharp.dll 类型的引用

3、将D:\GDAL\gdal2.23\csharp里除了_csharp.dll类型的其余的.dll文件,加上D:\GDAL\gdal2.23\bin里的 gdal202.dll 复制到刚刚建立的窗体文件的bin/Debug文件夹里去。(一层层文件夹找就行)

4、代码示例

就运行成功了,撒花完结

CSDN的用户体验真的是极差极差极差!!!代码经常串行,动不动就崩!!!
转载自:https://blog.csdn.net/lu_LLLR/article/details/80015454

You may also like...