最近在研究开源GIS库GDAL,我是采用自己下载源码编译的方式,主要进行以下几个步骤:

  1. 编译GEOS,参考自GEOS的wiki
    下载GEOS源代码,目前的版本为3.5.0,解压到C盘根目录。打开VS2012自带的命令行工具
  2. 进入geos文件夹,进行编译
    1
    2
    3
    4
    C:
    cd geos-3.5.0
    augogen.bat
    nmake /f makefile.vc MSVC_VER=1400 BUILD_DEBUG=YES

    最后一句命令里的1800指的是Visual Studio的版本号,详情见GEOS说明。

  3. 下载GDAL源代码,目前最新版为2.0.1,Windows版本的下载地址为http://download.osgeo.org/gdal/2.0.1/gdal201.zip

    下载以后解压,解压到C盘根目录,并且在根目录下新建一个文件夹gdal-runtime,用作存放编译结果:

  4. 进入gdal-2.0.1,打开nmake.opt文件,找到GDAL_HOME,把值改为上一步gdal-runtime的路径.

    找到MSVC_VER把值改为当前Visual Studio对应的版本,我用的是VS2013,值是1800

    找到# Uncomment for GEOS support,把下面三行最前面的 '#' 符号删掉(取消注释),将"GEOS_DIR="后面的内容改为GEOS的路径,并且将"GEOS_CFLAGS ="和 "GEOS_LIB     =" 后面的斜杠 '/' 换为反斜杠 '\' ,"source"改为"src",保存;

    注意:如果提示找不到"geos/version.h",则需要将geos目录下的include路径加入到系统的include变量里:

    gdal1.6及之前的貌似还需要更改源文件,2.0.1不用

  5. 打开Visual Studio自带的命令行工具:

    进入gdal文件夹,cd "C:\gdal-2.0.1",依次执行以下命令(需要一点时间):

  6. nmake /f makefile.vc
    nmake /f makefile.vc install
    nmake /f makefile.vc devinstall

    编译好以后会在“C:\gdal-runtime”生成以下的文件夹,代表编译成功

  7. 新建CodeBlocks工程,将上一步“C:\gdal-runtime\bin”目录下的gdalxxx.dll拷贝到工程根目录下

    打开Project-Build Options菜单,在Linker Settings下的Link Libraries中添加“C:\gdal-runtime\lib\gdal_i.lib"

    "Search directories-Complier"中添加路径"C:\gdal-runtime\include",在"Search directories-Linker"中添加"C:\gdal-runtime\lib"

  8. 到这里就配置完成了,以下是一些常见的问题:

    1.如果提示找不到nmake,需要将nmake所在的文件夹"C:\Program Files\Microsoft Visual Studio 12.0\VC\bin"加入到系统路径,然后重新打开命令行

    2.若调用nmake编译时提示"找不到 stdio.h",则需要在系统变量INCLUDE(如果不存在,则新建)中添加Windows SDK和Visual Studio的include路径

    3.如果提示"rc"变量错误,在执行nmake之前需要先执行"C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"

开源GIS库GDAL/GEOS在Windows下的编译与 Codeblocks配置相关推荐

  1. tinyxml在linux和windows下的编译及使用详解

    一:摘要 1.XML全称EXtensible Markup Language,翻译为可扩展标记语言,XML文件通常就是一个文本文件,可以使用任何编码 2.TinyXML是一个开源的C++用来处理XML ...

  2. Agg在Windows下的编译与使用

    Agg在Windows下的编译与使用 flyfish Agg简介 AGG(Anti-Grain Geometry)是一个开源免费的图形库. 官网地址: www.antigrain.com 主要是编译称 ...

  3. Boost在Linux和windows下的编译 32位 64位

    一 简言 1. Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一 2. Boost官网地址:http://www.boost.org/ 3. 本博客示 ...

  4. jsoncpp在linux和windows下的编译及使用详解

    一:摘要 1. JSON是一种轻量级的数据传输格式,全称为:JavaScript Object Notation,官方网址: http://www.json.org/json-zh.html 3. J ...

  5. Windows下MinGW编译vim7.4

    学习了一段时间Vim,感觉有些功能真的很方便.因学习原因,工作平台更换到一台老式Xp电脑上,重新安装了Vim7.4.官网默认版本不支持等宽字体和GDI++渲染,需要手工编译一个修改过的版本. 1.下载 ...

  6. windows下yolov4-deepsort项目tensorflowGPU版本配置+项目实战

    目录 0. yolov4-deepsort简介 1. cuda环境 2. 配置项目环境 2.1 所需环境 2.2 环境配置 3. 模型权值的下载 4. 运行程序 5. 本人项目demo展示 0. yo ...

  7. ncnn环境搭建一 - windows下protobuf编译安装

    1. 环境 安装环境采用visual studio 2015 + protobuf 3.4.0 + ncnn 2. visual studio 2015安装 visual studio采用的是 vs2 ...

  8. windows下VS安装CUDA环境配置

    CUDA安装见:https://blog.csdn.net/Ang_go/article/details/122329715 本文内容均在已安装VS和CUDA情况下,如需安装教程,请自行搜索. win ...

  9. Windows下Memcached的安装与配置

    Windows下Memcached的安装与配置 安装: 1.下载memcached, http://www.danga.com/memcached/ ; 2.解压,比如放在 D:\memcached- ...

最新文章

  1. Netty防止内存泄漏措施
  2. nssl1248-B【点分治,平衡树】
  3. SVN历史版本比较中文乱码
  4. eclipse idea对比_Idea必须配置的环境变量(自己总结)
  5. Qt同时加载多个项目
  6. 如何在阿里云linux上部署java项目
  7. 大端模式和小端模式的再理解
  8. ASP.NET2.0服务器控件之自定义状态管理
  9. 微波遥感SNAP(二)——基于Sentinel-1雷达数据反演矿区地表形变
  10. C 语言是“最环保”的编程语言
  11. FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法
  12. Aho-Corasic多模匹配算法的学习、理解和应用(Python环境下)
  13. 【转发】Cortex-M3 处理器
  14. CPU频率是什么?主频、睿频和超频哪个更重要?
  15. PSPICE混沌电路的相图操作
  16. WebGL/ThreeJS如何在场景中创建立体文字TextGeometry,认识精灵模型
  17. 为何我工作十年,内心仍无比恐慌(腾讯产品总监曹菲)
  18. 矿大计算机考研学硕,【经验贴】2020中国矿业大学(北京)会计学学硕考研经验...
  19. 芒果TV首发《乘风破浪3》互动数藏,盘点五大芒果剧综IP数字藏品
  20. PMC Organometallix继续业务扩张

热门文章

  1. python 抓取微博评论破亿_一篇文章教会你使用Python定时抓取微博评论
  2. linux数字设定法设定权限,Linux chmod命令详解和使用实例(改变文件或目录的访问权限)...
  3. Ubuntu16.04通过wine环境安装微信与QQ等软件
  4. SDH光端机的应用介绍
  5. [渝粤教育] 中国地质大学 金融保险业会计 复习题 (2)
  6. 网络 计算机不显示不出来,网页图片显示不出来怎么办 网络故障解决【详解】...
  7. 控制计算机价格,本人对电脑不太懂。想十一买台笔记本电脑。价格控制在5000之内。请高手指点一下。谢谢!...
  8. java+springmvc+vo,springmvc+mybatis的实例详解
  9. 浙江计算机二级报名步骤,浙江2016年9月计算机二级考生报名流程
  10. 计算机二级web题目(1)--web基础