Gdal 223 Building

Building Gdal2.2.3

Please download GDAL and GEOS pacakge for OSGeo Trac.

Download Source code.

Download GDAL:

Please download version 2.2.3 package.

Build Gdal

After bulid gdal, please first build proj, geos.

  1. 以管理员模式打开VS2015 x64 Native Tools Command Prompt.

  2. 注册64位环境

    cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

    vcvars64.bat

  3. Download swig 3.0.12

    Swig Home

  4. D:\Umanaged\gdal223\gdal-2.2.3文件下,打开nmake.opt文件

Set output folder:

GDAL_HOME = “D:\Umanaged\gdal223\gdal-2.2.3-release\gdal”

SWIG = D:\Umanaged\gdal223\swigwin-3.0.12\swig.exe


集成geos

#GEOS_DIR=C:/warmerda/geos

#GEOS_CFLAGS=-I ( G E O S D I R ) / c a p i − I (GEOS_DIR)/capi -I (GEOSDIR)/capiI(GEOS_DIR)/source/headers -DHAVE_GEOS

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

GEOS_DIR=D:\Umanaged\gdal223\geos-3.5.1

GEOS_CFLAGS = -I ( G E O S D I R ) / c a p i − I (GEOS_DIR)/capi -I (GEOSDIR)/capiI(GEOS_DIR)/include -DHAVE_GEOS

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


集成proj

#PROJ_INCLUDE=-Id:\projects\proj.4\src

#PROJ_LIBRARY=d:\projects\proj.4\src\proj_i.lib

PROJ_INCLUDE = -ID:\Umanaged\gdal223\proj-4.9.1\src

PROJ_LIBRARY = D:\Umanaged\gdal223\proj-4.9.1\src\proj_i.lib

  1. Complite

    cd D:\Umanaged\gdal223\gdal-2.2.3

    nmake /f makefile.vc MSVC_VER=1900 WIN64=yes

    nmake /f makefile.vc install MSVC_VER=1900 WIN64=yes

    nmake /f makefile.vc devinstall MSVC_VER=1900 WIN64=yes

  2. Make source code

    nmake /f makefile.vc interface

  3. Fixed code issue:
    AssemblyInfo.cs 文件 -> 注释 // [assembly: AllowPartiallyTrustedCallers]

打开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
->
//static OsrPINVOKE() {
//}

Band.cs|Dataset.cs|Driver.cs ->
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)

Fixed
error CS0246: The type or namespace name ‘HandleRef’ could not be found
error CS0246: The type or namespace name ‘IntPtr’ could not be found

add using:
using System;
using System.Runtime.InteropServices;

  1. Make C# libary.

    nmake /f makefile.vc

    nmake /f makefile.vc install

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖再会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值