1.下载源码

geos-3.4.2.tar.bz2  http://trac.osgeo.org/geos/

proj-4.8.0.zip     http://trac.osgeo.org/proj/wiki/WikiStart#Download

启动VS2010 x64兼容命令提示符

2.首先编译GEOS,进入Geos目录后

 autogen.bat
nmake /f makefile.vc

编译debug版本

nmake /f makefile.vc BUILD_DEBUG=YES

说明F:\gdal\geos-3.4.2文件夹下的makefile.vc

# This makefile.vc delegates making targets to src\makefile.vc
# so it's just a thin wrapper.

 #
# NMAKE Makefile to build GEOS on Windows
###############################################################################
# This makefile.vc delegates making targets to src\makefile.vc
# so it's just a thin wrapper.
#
# Building on Win32 with Visual Studio
# ------------------------------------
#
# ) Requires Visual C++ or later
# ) Build running command "nmake /f makefile.vc" in top-level directory
#
# Produces:
# src\geos.dll: DLL - only exports the C API
# src\geos_i.lib: Stub library to link against for use of geos.dll.
# src\geos.lib: static library for use of C or C++ API.
###############################################################################
GEOS_ROOT=.
!INCLUDE $(GEOS_ROOT)\nmake.opt default: src_dir src_dir:
cd src
$(MAKE) /f makefile.vc
cd .. clean:
cd src
$(MAKE) /f makefile.vc clean
cd ..

3.接着编译Proj4

nmake /f makefile.vc install-all

4.最后编译GDAL

首先说明下我的文件目录F:\gdal文件夹下将gdal-1.10.0、geos-3.4.2和proj-4.8.0放在一起

使用记事本或者其他的文本编辑器打开GDAL源代码目录下的nmake.opt文件,找到“# Uncomment for GEOS support”这句,大概在490行左右,将下面三行代码:

#GEOS_DIR=C:/warmerda/geos

#GEOS_CFLAGS =-I$(GEOS_DIR)/capi -I$(GEOS_DIR)/source/headers -DHAVE_GEOS

#GEOS_LIB     =$(GEOS_DIR)/source/geos_c_i.lib

修改为:

GEOS_DIR=F:\gdal\geos-3.4.2
GEOS_CFLAGS = -I$(GEOS_DIR)/capi -I$(GEOS_DIR)/include -DHAVE_GEOS
GEOS_LIB     = $(GEOS_DIR)/src/geos_c_i.lib

GEOS_DIR是geos-3.4.2编译后的文件夹路径:F:\gdal\geos-3.4.2。头文件主要在capi和include文件夹。

找到下面三行代码:

#PROJ_FLAGS =-DPROJ_STATIC

#PROJ_INCLUDE =-Id:\projects\proj.4\src

#PROJ_LIBRARY =d:\projects\proj.4\src\proj_i.lib

修改为:

#PROJ_FLAGS = -DPROJ_STATIC
PROJ_INCLUDE = -IF:\gdal\proj-4.8.0\src
PROJ_LIBRARY = F:\gdal\proj-4.8.0\src\proj_i.lib

不知道是不是我之前用中文路径的原因,开始编译时出了找不到geos_c.h的错误,然后我就改成现在的路径。

接下来的修改和编译按照http://www.cnblogs.com/yhlx125/p/3550957.html执行就可以了。

[GDAL]GEOS和Proj4编译的更多相关文章

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

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

  2. 使用GDAL/GEOS求面特征的并集

    存在这样一个示例的矢量文件,包含了两个重叠的面特征: 一个很常见的需求是求取这个矢量中所有面元素的并集,通过GDAL/GEOS很容易实现这个功能,具体代码如下: #include <iostre ...

  3. GDAL使用插件方式编译HDF4、HDF5以及NetCDF的bug修改

    GDAL库中提供了很方便的插件机制来扩展支持的数据格式,比如HDF4.HDF5.NetCDF.FileGDB.Postgre.Oralce等等.都可以通过插件的方式来使得GDAL支持相应的格式.最近将 ...

  4. GEOS库的编译

    下载地址https://trac.osgeo.org/geos/ 选择最新的geos-3.6.2版本,下载 将geos-3.6.2放在VS2012文件夹下,本例是D:\VS2012 打开VS2012开 ...

  5. 编译带有PROJ4和GEOS模块的GDAL

    1.下载三个软件的源代码(去各自官网下载即可) 2.将PROJ4和GEOS的源码放到GDAL目录下的supportlibs文件夹中. 3.修改GDAL的nmake.opt文件,部分内容如下: # Un ...

  6. GDAL编译(转)

    一.简单的编译 1.使用VisualStudio IDE编译 首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如makegdal10.sln,makegdal80.sln,make ...

  7. LIUNX-Centos 7 编译GDAL

    一.准备工作 安装编译环境 sudo yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-dev ...

  8. GEOS库学习之五:与GDAL/OGR结合使用

    要学习GEOS库,肯定绕不开地理方面的东西.如果需要判断的两个多边形或几何图形,不是自己创建的,而是来自shapefile文件,那就得将GEOS库和GDAL/OGR库结合使用了.实际上只需要OGR就行 ...

  9. GDAL集成GEOS

    因为要用到缓冲区分析,在使用Buffer的时候提示:ERROR 6: GEOS support not enabled,查了一下资料需要集成GEOS库.因为GDLA默认编译是没有集成GEOS库的. 现 ...

随机推荐

  1. PHP Static Self 的区别

    <?php class Human{ public static function whoami() { echo "来自父类的whoami"; } public stati ...

  2. NBUT 1028 该减肥了(简单递推)

    [1028] 该减肥了 时间限制: 1000 ms 内存限制: 65535 K 问题描述 由于长期缺乏运动,Teacher Xuan发现自己的身材臃肿了许多,于是他想健身,更准确地说是减肥.Teach ...

  3. MySQL 命令行导出、导入Select 查询结果

    <!-- 环境: Windows 2003 SP2 + MySQL5.5.28 Author: 博客园小dee --> 有的时候需要把在一张表中用 select 语句查询出来的结果保存到另 ...

  4. extjs文件上传

    EXT学习教程:http://www.cnblogs.com/iamlilinfeng/category/385121.html Ext文件上传: 例子用到的jar:   1.upload.js /* ...

  5. 解决微软的两个恶心问题(VS2008死机、Win2008 WAS无法启动)

    1.Visual Studio 2008,在切换到Web设计界面或Html Markup界面时,过一段时间就出现假死,点击任何地方没反应,也关闭不了,只能用任务管理器结束任务. 上网查了下,应该是先装 ...

  6. NRF51822之发射功率

    设置蓝牙的TX Power 使用的函数sd_ble_gap_tx_power_set(int8_t tx_power);   参看例子为 S110/ble_app_proximity #define ...

  7. scala 学习笔记

    1.简洁 1.1.java的写法 class MyClass { private int index; private String name; public MyClass(int index, S ...

  8. BAT(批处理)获得参数

    原文转自:http://blog.csdn.net/luhouxiang/article/details/31733049 获取参数有2种, 一种为从命令行输入参数,使用两个%中间包含数字表示,数字从 ...

  9. android判断pad还是手机

    第一种. Rect frame = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); if (fr ...

  10. NuGet的几个小技巧

    因为是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因. 如有冒犯请联系本人,或删除,或标明出处. 因为好的文章,以前只想收藏,但连接有时候会失效,所以 ...