下载源码

GDAL源代码下载地址:http://trac.osgeo.org/gdal/wiki/DownloadSource,或者安装svn从源代码服务器下载,svn地址是:http://svn.osgeo.org/gdal/trunk

编译前

在编译开始之前,还需要打开nmake.opt文件,找到131行处的“#WIN64=YES”,将前面的“#”去掉,保存,然后开始编译。如果就这样编译过去的话,那么恭喜你,如果不能顺利编译过去的,那么需要按照下面的步骤进行一点点设置。 
1:在GDAL目录下的nmake.opt文件中,找到SYM_PREFIX的定义,应该在438行左右 
将SYM_PREFIX=_ 改为SYM_PREFIX= 就是将最后的下划线去掉

2、打开gdal文件夹下的nmake.opt修改GDAL_HOME = “C:/warmerda/bld”把路径改到需要把gdal安装的地方。

PS: 如果本机的环境变量中有GDAL_HOME的定义 ,那么nmake.opt会使用以定义好的GDAL_HOME的路径

编译GDAl

运行vs 的命令提示,进入vs的控制台依次输入:

         nmake /f makefile.vc MSVC_VER=1900 WIN64=YES 
#编译GDAL库
      nmake /f makefile.vc install MSVC_VER=1900 WIN64=YES 
#编译GDAL库,并安装(这里安装的意思就是将生成的dll,exe等文件拷贝到C:\warmerda\bld目录)
     nmake /f makefile.vc devinstall MSVC_VER=1900 WIN64=YES 
#编译GDAL库,并安装开发者模式(安装的意思同上,开发者模式意思是将开发用的include文件夹中的头文件和lib文件一同拷贝到C:\warmerda\bld目录,此时会在C:\warmerda\bld目录中多出来两个文件夹,分别是include和lib,分别存放的是GDAL的头文件和lib文件,用于调用GDAL库使用)。
   
    其中 MSVC_VER 和VS版本关系如下

    # nmake -f makefile.vc MSVC_VER=xxxx
    # where xxxx is one of following:
    # 1900 = 14.0(2015)
    # 1800 = 12.0(2013)
    # 1700 = 11.0(2012)
    # 1600 = 10.0(2010)
    # 1500 = 9.0 (2008)
    # 1400 = 8.0 (2005) 
    # 1310 = 7.1 (2003)
    # 1300 = 7.0 (2002)
    # 1200 = 6.0

欢迎大家来我的新家看一看 3wwang个人博客-记录走过的技术之路

gdal source code c++ make windows的更多相关文章

  1. How to build the Robotics Library from source code on Windows

    The Robotics Library is an open source C++ library for robot kinematics, motion planning and control ...

  2. How to build windows azure PowerShell Source Code

    Download any version source code of Windows Azure Powershell from https://github.com/Azure/azure-sdk ...

  3. How to Build MySQL from Source Code on Windows & compile MySQL on win7+vs2010

    Not counting obtaining the source code, and once you have the prerequisites satisfied, [Windows] use ...

  4. 才知道 Windows Live Writer Source Code plugin for SyntaxHighlighter 更新到2.0了

    这是我用 Windows Live Writer 发布的第一篇文章! 在官方网站看到 Windows Live Writer Source Code plugin for SyntaxHighligh ...

  5. 编程等宽字体Source Code Pro(转)

    Source Code Pro - 最佳的免费编程字体之一!来自 Adobe 公司的开源等宽字体下载     每一位程序员都有一套自己喜爱的代码编辑器与编程字体,譬如我们之前就推荐过一款"神 ...

  6. Classic Source Code Collected

    收藏一些经典的源码,持续更新!!! 1.深度学习框架(Deep Learning Framework). A:Caffe (Convolutional Architecture for Fast Fe ...

  7. source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版

    特色 迅捷是一个功能强大的C/C++源代码分析软件.可以处理数百万行的源程序代码.支持标准及K&R风格的C/C++.对每一个打开的源代码工程,通过建立一个包含丰富交叉引用关系的数据库,显示其所 ...

  8. [解决]ASP.NET MVC 4/5 源码调试(source code debug)

    ========================ASP.NET MVC 4============================ ASP.NET MVC 4 source code download ...

  9. 一款堪称完美的编程字体Source Code Pro

    对于程序员来说,好的字体应该满足的基本条件: 字母和数字易于分辨,如: 英文字母o 和 阿拉伯数字 0 ,或者 英文字母 l 和 阿拉伯数字 1 ,两个单引号 '' 和双引号 ”. 字体等宽,保持对齐 ...

随机推荐

  1. 关于网上“强大的vim”矫正!!

    参考链接在这里: 强大的vim配置文件,让编程更随意 - ma6174 - 博客园, http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393. ...

  2. 手机调试 fiddler

    使用Fiddler调试手机程序 | 前端和运维利器 2015-11-27  zhy97031  文章来源  阅 688  转 4 转藏到我的图书馆   微信分享:   作者:Uncle Chen 原文 ...

  3. 自己电脑能ping别人的,但别人电脑去不能跟我们的电脑通信

    记住一点:多半时防火墙出了问题. 打开“控制面板”——点击“系统和安全”——“Windows防火墙”——点击“打开或关闭”Windows防火墙--点击家庭组网络或者工作组网络——关闭家庭组和工作组的防 ...

  4. echarts 树图

    1 事件:事件绑定,事件命名统一挂载到require('echarts/config').EVENT(非模块化为echarts.config.EVENT)命名空间下,建议使用此命名空间作为事件名引用, ...

  5. python网络编程之进程论

    标签(空格分隔): 进程 什么是进程: 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu; 进程与程序的区别: 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程 注意: 需要强调的 ...

  6. php 两个值进行比较的问题

    php手册运算符中有介绍: 比较多种类型-- 如var_dump([ ] > 0); // 结果为true 运算数 1 类型 运算数 2 类型 结果 null 或 string string 将 ...

  7. K-邻近算法简单例子

    from numpy import * import operator import matplotlib.pyplot as plt def creatDataset(): group = arra ...

  8. CentOS 下搭建Gitlab

    centos7安装部署gitlab服务器   我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1. 安装依赖软件 yum -y install policycoreut ...

  9. 81. Search in Rotated Sorted Array II (Array; Divide-and-Conquer)

    Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...

  10. RxJS之AsyncSubject

    AsyncSubject 是另一个 Subject 变体,只有当 Observable 执行完成时(执行 complete()),它才会将执行的最后一个值发送给观察者. import { Compon ...