GDAL源码编译(32位)
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位)的更多相关文章
- GDAL源码编译
转自阿Fai, GDAL源码编译 在这里,我使用源码编译出C#可以使用的dll静态文件. 一.简单的编译 1.简单的认识 首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如make ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- hadoop2.5发布:最新编译 32位、64位安装、源码包、API以及新特性
hadoop2.5发布:最新编译 32位.64位安装.源码包.API以及新特性 http://www.aboutyun.com/thread-8751-1-1.html (出处: about云开发) ...
- 将gdal源码转化为VS工程编译过程记录
作者:朱金灿 来源:http://blog.csdn.net/clever101 为什么要用VS工程的方式来编译gdal库?主要还是为了调试方便,虽然理论上使用命令行方式生成库也能调试,详见:GDAL ...
- Hadoop源码编译过程
一. 为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...
- Centos7.X 源码编译安装subversion svn1.8.x
说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...
- Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程
Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程 在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...
- Hadoop,HBase,Zookeeper源码编译并导入eclipse
基本理念:尽可能的参考官方英文文档 Hadoop: http://wiki.apache.org/hadoop/FrontPage HBase: http://hbase.apache.org/b ...
- 英蓓特Mars board的android4.0.3源码编译过程
英蓓特Mars board的android4.0.3源码编译过程 作者:StephenZhu(大桥++) 2013年8月22日 若要转载,请注明出处 一.编译环境搭建及要点: 1. 虚拟机软件virt ...
随机推荐
- Java中 == 和 equals 的问题
== : 它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象.(基本数据类型==比较的是值,引用数据类型==比较的是内存地址) equals() : 它的作用也是判断两个对象是否 ...
- 前端学习历程--localstroge
一. localstorage的特性 1.需要ie8+ 2.浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3.local ...
- JavaScript 原型链学习(三)原型对象存在的问题 与 组合使用构造函数和原型
原型对象也不是没有缺点.首先,它省略了为构造函数传递初始化参数这一环节, 结果所有实例在默认情况下都将取得相同的属性值.虽然这会在某种程度上带来一些不方便, 但还不是原型对象的最大问题.原型对象的最大 ...
- JavaScript 原型链学习(二)原型的动态性
由于在原型中查找值的过程是一次搜索,因此我们对原型对象所做的任何修改都能够立即从实例上反映出来,即使是先创建了实例后修改原型也照样如此.如下示例: var friend = new Person(); ...
- python split()函数的用法
转自: https://blog.csdn.net/orangefly0214/article/details/80810449 函数:split() Python中有split()和os.path. ...
- jquery easyui datagrid 将值作为img显示图片时报404 undefined
原因:datagrid 在请求到数据先进行头部数据和样式的渲染,之后数据 obj = {} value = undefined index = 0 进行一次渲染, 在没有formater情况将数据 ...
- 解决apache httpd列出目录列表中文乱码问题
问题: 找了好几个方法都不对, 很多都是说修改AddDefaultCharset字段的, 下面是新的方法, 新测可行 在httpd.conf下, 随便找个地方把下面这个字段扔上去, 重启即可 Inde ...
- 原生js实现九宫格,全解析
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- HTML基础【1】:认识 HTML
什么是HTML HTML其实是 HyperText Markup Language 的缩写,超文本标记语言 HTML的作用 1.首先利用记事本保存了一个标题和两段描述, 然后修改纯文本文件的扩展名 ...
- PHP钩子的简单介绍
<?php /** * 钩子类 */ class Hook { static public function execute($type, $model='') { if($model == ' ...