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. #WEB安全基础 : HTTP协议 | 0x7 学会使用wireshark分析数据包

    wireshark是开源,免费,跨平台的抓包分析工具 我们可以通过wireshark学习HTTP报文和进行抓包分析,在CTF中的流量分析需要用到抓包 1.下载和安装 这是wireshark的官网 ht ...

  2. 记录Js 文本框验证 与 IE兼容性

    最近的日常就是将测试小姐姐提交的bug进行修改,想来这种事情还是比较好开展的,毕竟此项目已上线一年多,现在只是一些前端的问题需要改正.实际上手的时候并不是这样,原项目是在谷歌上运行,后来由于要新增一个 ...

  3. 记录在tiny6410平台上采用4GSD卡来启动uboot和烧写nand flash uboot

    下面这种方法是从网上转的 没有验证 环境:ubuntu 13.04一.首先制作sd启动盘: 插入SD卡    sudo dd iflag=dsync oflag=dsync if=tiny210v2- ...

  4. 使用sp_addlinkedserver、sp_dropserver 、sp_addlinkedsrvlogin和sp_droplinkedsrvlogin 远程查询数据

    一.sp_addlinkedserver  创建链接服务器. 链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询. 在使用 sp_addlinkedserver 创建链接服务器后,可对该服 ...

  5. "Login failed for user 'NT AUTHORITY\SYSTEM'. 原因: 无法打开明确指定的数据库。"异常处理

    公司一台SQL Server服务器一直报 "Login failed for user 'NT AUTHORITY\SYSTEM'. 原因: 无法打开明确指定的数据库."错误,按网 ...

  6. Html 标签种类

    Html 标签种类 自闭合标签与闭合标签 自闭合标签 <标签 /> 闭合标签 <标签></标签> 块级标签与行内标签 浏览器审查元素使用: (1) f12 查看每个 ...

  7. CSS 文件引入

    CSS 文件引入 <html> <head> <!-- link标签引用其他文件.rel="stylesheet" 引用css.href=" ...

  8. Python Redis 管道

    redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pi ...

  9. redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: 断开的管道 (Write failed)

    昨晚,包发到测试环境中,出现redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: 断开的 ...

  10. 【C++】回看面向对象与C++

    本文将记录在C++与面向对象的重新学习过程中的要点: 未定义行为