一、编译GEOS库

(1)

nmake编译

1、解压源码,如E:\geos3.5.2\geos-3.5.2路径下

2、修改nmake.opt文件,若编译64位库,需打开geos-3.7.1文件夹中的nmake.opt文件,将WIN64

= NO改为WIN64 =

YES;32位无需修改。若编译Debug库,则将nmake.opt中的BUILD_DEBUG

= NO改为BUILD_DEBUG =

YES;Release无需修改。

3、打开VS的工具命令提示,若编32位则打开VS2013

x86 本机工具命令提示,若编64位则打开VS2013 x64

本机工具命令提示。并进入geos路径下,如cd

E:\geos3.5.2\geos-3.5.2

4、依次在命令行输入autogen.bat和nmake /f

makefile.vc进行编译

5、编译成功后,会在E:\geos3.5.2\geos-3.5.2\src目录下生成geos.lib,

geos_i.lib, geos_c_i.lib, geos.dll,

geos_c.dll等五个文件。该生成的文件可以接着用来生成GDAL库

(2)

cmake-gui编译

1、打开cmake-gui,将CMakeLists.txt拖入其中,设置编译路径,点击configure按钮。

2、设置CMAKE_INSTALL_PREFIX,即输出路径,后续编译好的bin、include、lib都会生成在该路径中。点击configure按钮,若无报错点击generate按钮。

3、打开设置的编译路径,用VS打开工程,进入批生成,选择ALL_BUILD和INSTALL(release和debug可以按需生成),点击生成即可。

4、编译完成后在输出路径有bin、include、lib文件夹,可以提供给其他人员使用。

二、编译GDAL库

(1)

在GEOS库用nmake编译的基础上。

(2)

修改nmake.opt,修改GDAL_HOME路径,如GDAL_HOME

=

"E:\gdal\gdal202\install";修改geo库依赖,首先将GEOS库前的注释去掉,分别设置GEOS_DIR、GEOS_CFLAGS和GEOS_LIB,其中GEOS_CFLAGS需要改为-I$(GEOS_DIR)/capi

-I$(GEOS_DIR)/include

-DHAVE_GEOS。特别说明,设置的GEOS_DIR路径中不能有空格,设置完成后如下所示:

GEOS_DIR=

E:\geos3.5.2\geos-3.5.2

GEOS_CFLAGS = -I$(GEOS_DIR)/capi

-I$(GEOS_DIR)/include -DHAVE_GEOS

GEOS_LIB = $(GEOS_DIR)/src/geos_c_i.lib

(3)为了生成带后缀d的debug库,需要做如下修改

在nmake.opt中(100行处)添加

!IFDEF

DEBUG

LIB_SUFFIX=d

!ELSE

LIB_SUFFIX=

!ENDIF

然后,将nmake.opt和makefile.vc中所有的

gdal$(VERSION).dll修改为gdal$(VERSION)$(LIB_SUFFIX).dll

gdal_i.lib修改为gdal_i$(LIB_SUFFIX).lib

gdal.lib修改为gdal$(LIB_SUFFIX).lib

(4)

Nmake.opt设置完成后,打开VS的工具命令提示,输入nmake

-f makefile.vc MSVC_VER=1800 WIN64=1进行编译

(5)

输入nmake -f makefile.vc MSVC_VER=1800 WIN64=1 install

生成bin、data、html文件夹

(6)

输入nmake -f makefile.vc MSVC_VER=1800 WIN64=1

devinstall生成lib和include(其实)

(7)

结束!

**注意事项:

1、在将geos库集成到GDAL时,geos库的路径不能有空格,否则文件路径会被破坏从而导致geos库中的头文件无法被识别

linux编译gdal geos,使用nmake编译GDAL+GEOS(傻瓜教程)相关推荐

  1. Win64下编译集成GEOS和Proj4的GDAL

    文章目录 1.编译GEOS 2.编译Proj4 3.GDAL集成Proj4和GEOS 1) 修改安装的目录 2) 配置Proj4 3) 配置GEOS 4) 自定义动态库名称(可跳过) 5) 编译 1. ...

  2. 编译支持JPEG2000压缩格式的GDAL(ECW库、OpenJPEG)

    该文是在我另一篇博客"gdal.geos的 windows编译 openCL加速"基础上进行进一步扩展的,那篇博客记录的是gdal2.2.0的整个编译过程,由于那篇博客的文末记录了 ...

  3. nmake编译libraw

    编译环境:VS2019的nmake libraw:0.20.2 一.使用nmake需要首先设置nmake的环境变量,方法如下: 在系统环境变量path中添加 C:\Program Files (x86 ...

  4. linux 编译mqtt静态库_编译MQTT C++ Client

    nmake  -f  ms\nt.mak(这是静态库,动态库是ntdll.mak) nmake  -f  ms\nt.mak test(测试命令,如果成功则最后显示"passed all t ...

  5. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  6. vs2010 vc nmake编译openssl-0.9.8e

    <vs2010 vc nmake编译openssl-0.9.8e> 一,下载 ActivePerl window安装程序下载:http://downloads.activestate.co ...

  7. Linux下c和cuda混合编译,并生成动态链接库.so和使用

    Linux下c和cuda混合编译,并生成动态链接库.so和使用 2016-08-27 14:27 98人阅读 评论(0) 收藏 举报 分类: Linux 版权声明:本文为博主原创文章,未经博主允许不得 ...

  8. Linux 之八 完整嵌入式 Linux 环境、(交叉)编译工具链、CPU 体系架构、嵌入式系统构建工具

      最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,由于之前对嵌入式 Linux 环境并不是很了解,因此,第一步就是需要了解如何搭建一个完整的嵌入式 Linux 环境.现在将学习心得记录 ...

  9. 龙芯linux内核,龙芯的linux kernel,内核开发与编译

    在很久很久以前,linux被视为geek极客的玩具.自行升级Linux内核,对普通用户来说,简直是天方夜谭.曾经的曾经,升级内核需要很多纷繁复杂的步骤,也需要花费很多的时间.但是,现在不一样了.内核的 ...

  10. 关于Linux开源项目基础组件make编译流程

     关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia. ...

最新文章

  1. Kali Linux 安全渗透教程第七更 大学霸1.4.3安装至VMware Workstation
  2. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码...
  3. 6远程桌面连接不上_windows server2008 远程桌面 创建新用户和多用户登录
  4. html单页倒计时,单页面vue实例带倒计时功能
  5. Angr安装与使用之使用篇(一)
  6. GPS定位基本原理解析
  7. ( 科来网络分析系统 )简单的抓包步骤,具体的后面文章说
  8. powerdesign 逆向工程
  9. 【论文研读】-用于约束多目标优化的新型双阶段双种群进化算法补充材料
  10. OpenWrt 无线桥接
  11. creator多点触摸理解
  12. 优动漫PAINT的界面如何适配数位屏/平板?
  13. C位流行语言,“2018年十大流行语”
  14. fastboot烧机
  15. 邮件合并的逆向应用,从多个Word文档中取值到Excel中
  16. spring中pom变黑 中间有一条黑线,不能用,怎么解决
  17. Python在操作系统层面上的操作
  18. 广州楼市:这类楼盘持续跑赢大势,聪明人只看这点
  19. 深入浅出Linux操作系统搭建JavaEE环境(五)
  20. 干货 | 科研必备的软件神器

热门文章

  1. 【前端教程】如何监控网页的卡顿?
  2. 2021中兴捧月杯算法大赛模面大赛总结
  3. 你知道现在有多少AI开放平台吗?
  4. java制作摇奖系统_基于Java实现抽奖系统
  5. 软件测试的测试方法有哪些?
  6. 紧密中心度(Closeness Centrality)
  7. 【Java】代码加密
  8. 微型夹爪行业调研报告 - 市场现状分析与发展前景预测
  9. gis在线编辑服务器,WebGIS教程 使用Geoserver和PostGIS开发WebGIS 在线编辑
  10. 【论文】清华九歌作诗系统