GDAL源码编译(32位)

前言

  GDAL:GDAL/OGR 是一个地理空间数据的格式转换及处理工具。官网:https://www.gdal.org/

  swig:SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。SWIG能应用于各种不同类型的语言包括常用脚本编译语言例如Perl, PHP, Python, Tcl, Ruby and PHP。

一、准备工作

  1.下载最新版本的源代码https://github.com/OSGeo/gdal  并解压  

  

  2.下载swig:http://prdownloads.sourceforge.net/swig/swigwin-3.0.12.zip   并解压

    

  3.通过CMD(管理员权限)打开vcvars32.bat

  在cmd命令中输入: cd /d D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build

   

   

     在cmd命令中输入:vcvars32.bata

   

  在cmd中输入:cd /d E:\SvnWorkspace\LY_WEB_GIS\branches\Documents\gdal-master\gdal 定位到需要编译的源文件

    

  4.修改gdal文件夹中的nmake.opt配置文件

    4.1 根据你目前vs(vc++)使用环境来确定编译版本(你也可以通过命令来传递参数)

    

    4.2 设置GDAL_HOME(编译后的lib,bin文件生成位置)

    

二、开始编译工作(c++)

  1.在cmd中输入:nmake -f makefile.vc 开始编译 C++版本

  

  编译完成

  

  2. 在cmd中输入:nmake /f makefile.vc install 进入安装

  

  安装成功

  

  3. 在cmd中输入:nmake /f makefile.vc devinstall 安装开发环境

  

  安装成功

  

三、编辑C#版本

  1.在cmd中输入:cd swig\csharp

  2.在cmd中输入:nmake /f makefile.vc (可能会错:NMAKE : fatal error U1073: 不知道如何生成“ogr_wrap.obj”)

  

  3.在cmd中输入:nmake /f makefile.vc interface (可能是vc++中模板的遍历,具体如何运行的不大清楚,毕竟不是做c++开发)

  

  4.重复再cmd中输入:nmake /f makefile.vc 再次编译为c#版本

  

  编译成功

  

  5.在cmd中输入:nmake /f makefile.vc install 直到编译完毕

  

  对应文件夹产生的dll文件

  

GDAL源码编译(32位)的更多相关文章

  1. GDAL源码编译

    转自阿Fai, GDAL源码编译 在这里,我使用源码编译出C#可以使用的dll静态文件. 一.简单的编译 1.简单的认识 首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如make ...

  2. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  3. hadoop2.5发布:最新编译 32位、64位安装、源码包、API以及新特性

    hadoop2.5发布:最新编译 32位.64位安装.源码包.API以及新特性 http://www.aboutyun.com/thread-8751-1-1.html (出处: about云开发) ...

  4. 将gdal源码转化为VS工程编译过程记录

    作者:朱金灿 来源:http://blog.csdn.net/clever101 为什么要用VS工程的方式来编译gdal库?主要还是为了调试方便,虽然理论上使用命令行方式生成库也能调试,详见:GDAL ...

  5. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  6. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  7. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  8. Hadoop,HBase,Zookeeper源码编译并导入eclipse

    基本理念:尽可能的参考官方英文文档 Hadoop:  http://wiki.apache.org/hadoop/FrontPage HBase:  http://hbase.apache.org/b ...

  9. 英蓓特Mars board的android4.0.3源码编译过程

    英蓓特Mars board的android4.0.3源码编译过程 作者:StephenZhu(大桥++) 2013年8月22日 若要转载,请注明出处 一.编译环境搭建及要点: 1. 虚拟机软件virt ...

随机推荐

  1. eclipse web module版本问题:Cannot change version of project facet Dynamic Web Module to 2.5.

    Description    Resource    Path    Location    TypeCannot change version of project facet Dynamic We ...

  2. Ch03 数组相关操作 - 练习

    1. 编写一段代码,将a设置为一个n个随机数的数组,要求随机数介于0(包含)和n(不包含)之间. //import java.lang.Math def getArray(n:Int)={   val ...

  3. Python WebSocket长连接心跳与短连接

    python websocket 安装 pip install websocket-client 先来看一下,长连接调用方式: ws = websocket.WebSocketApp("ws ...

  4. pytorch torchvision对图像进行变换

    class torchvision.transforms.Compose(转换) 多个将transform组合起来使用. class torchvision.transforms.CenterCrop ...

  5. day09 python之函数进阶

    楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print ...

  6. 玩转spring boot——负载均衡与session共享

     前言 当项目上线后,如果要修复bug或扩充功能,都需要重启tomcat服务.此时,正在使用应用的用户们就需要等待服务器的重启,而这就会造成不好的用户体验.还有,当仅仅只有一台tomcat服务时,如果 ...

  7. 知识在与温故、总结-再读CLR

    序 CLR,通用语言运行时,每个.Net 程序猿,都会第一时间接触到.记得2008年,第一次学习Jeffrey Richter的CLR Via C#,读的懵懵懂懂,大抵因为编码太少,理解的只是概念和皮 ...

  8. arcgis 制图-插值图

    1.生成插值图 插值工具: 方案1:Spatial Analyst 工具-->插值分析-->反距离权重法 (IDW) + Spatial Analyst 工具-->提取分析--> ...

  9. Access restriction: The type 'Unsafe' is not API

    错误:Access restriction: The type 'Unsafe' is not API Eclipse中有一种叫做存取限制的机制,来防止你错误使用那些非共享的API.通常来说,Ecli ...

  10. the network could not establish the connection

    为了方便建表等操作,我用sql developer 连接linux 底下的数据库,可连接时出现了这个问题the network could not establish the connection. ...