博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2005编译GEOS GDAL
阅读量:4495 次
发布时间:2019-06-08

本文共 2031 字,大约阅读时间需要 6 分钟。

VS2005 下进行 GEOS编译:

(Geometry Engine - Open Source) is a C++ port of the  (JTS). As such, it aims to contain the complete functionality of JTS in C++.

编译步骤:

1、下载geos-3.0.0.tar.bz2 。下载地址为,进入网页后选择文件geos-3.0.0.tar.bz2下载到本机,例如E:\Software\GEOS\geos-3.0.0。

2、下载修正文件 geos-3.0.0.rc4-makefile-fix.zip。并将里面的两个文件dirlist.mk和Makefile.vc解压到E:\Software\GEOS\geos-3.0.0\source中,并覆盖原来的文件。注:如果没有这一步的话,会出现编译错误。

3、编译源文件。使用“Visual Studio 2005 命令提示”工具来进行,(该工具位于“开始\程序\Microsoft Visual Studio 2005\Visual Studio Tools”内)。打开“Visual Studio 2005 命令提示”工具,键入"cdE:\Software\GEOS\geos-3.0.0\source ",进入源文件所在的文件夹,再键入"nmake /f makefile.vc"执行编译。编译过程可能需要一些时间,主要取决于机器的性能。

4、编译完成。编译之后的geos.lib、geos_i.lib、geos_c_i.lib、geos.dll、geos_c.dll的文件被放在E:\Software\GEOS\geos-3.0.0\source中。

参考:

 

 

GDAL编译:

 

1、准备一个C++编译器。建议使用Visual studio2005。

2、下载源代码。
地址:http://download.osgeo.org/gdal/gdal150.zip。
3、把gdal150.zip解压至“C:\gdal-1.5.0”,当然放在其它文件夹也可以。
4、修改源代码中的错误。源文件“C:\gdal-1.5.0\frmts\leveller\levellerdataset.cpp”的第171行的内容如下:
{ "?, kPI / 180.0, UNITLABEL_DEGREE },
在?号后面加上双引呈",改成如下形式:
{ "?", kPI / 180.0, UNITLABEL_DEGREE },
你可以使用任何一种文本文件的编辑工具来进行修改。笔者尝试过下载GDAL1.52的版本,存在同样的问题,真想不到GDAL库也会犯如此低级的错误。
5、创建安装的目标文件夹“C:\gdal-runtime”,稍后的编译配置中,我们将配置GDAL把编译后将会安装到这个文件夹内。
6、修改编译配置文件夹“C:\gdal-1.5.0\nmake.opt”。以下是第41至第43行的内容:
!IFNDEF GDAL_HOME
GDAL_HOME = "C:\warmerda\bld"
!ENDIF
默认的情况下,GDAL将会安装到"C:\warmerda\bld"文件夹内,为了更好地了解安装过程,我们把第42行修改成如下内容:
GDAL_HOME = "C:\gdal-runtime"
7、编译源文件。使用“Visual Studio 2005 命令提示”工具来进行,(该工具位于“开始\程序\Microsoft Visual Studio 2005\Visual Studio Tools”内)。
打开“Visual Studio 2005 命令提示”工具,键入"cd C:\gdal-1.5.0",进入源文件所在的文件夹,再键入"nmake /f makefile.vc"执行编译。编译过程可能需要一些时间,主要取决于机器的性能。
如果没有第4步的修改,将会出现大量的编译错误,累积至100个后,VS2005将自动停止编译。
8、安装文件。
键入“nmake /f makefile.vc install”,执行完毕后,"C:\gdal-runtime"文件夹下增加了bin,data,及html文件夹。
键入“nmake /f makefile.vc devinstall”执行完毕后,"C:\gdal-runtime"文件夹下增加了lib,include文件夹。这两个文件夹主要用于C及C++的开发。
在"C:\gdal-runtime\bin"文件夹内已经生成了gdal15.dll文件,这是GDAL库的核心,不管采用何种开发方式,最终都由这个DLL文件来执行实质性的操作。

 

转载于:https://www.cnblogs.com/bigbigtree/archive/2011/11/23/2260219.html

你可能感兴趣的文章
C#冒泡排序法及优化
查看>>
Manacher算法
查看>>
【遥感专题系列】微波遥感(一、基础入门)
查看>>
django2.0 + python37 + vue 实战 网站开发,安卓app生成
查看>>
Java学习小笔记——Method
查看>>
.Net分布式架构(一):Nginx实现负载均衡
查看>>
PHP多线程处理问题
查看>>
vue引入sass
查看>>
【JAVA零基础入门系列】Day10 Java中的数组
查看>>
Solidity基础
查看>>
油菜地
查看>>
建maven私服nexus
查看>>
解决ftp上传connection reset错误
查看>>
Java Mockito 笔记
查看>>
js面向对象,多种创建对象方法!
查看>>
java 内部类和静态内部类的区别
查看>>
Latex 公式换行问题(换行,等号对齐)
查看>>
JQuery------$.getJSON()方法的使用
查看>>
《将博客搬至CSDN》
查看>>
完成注册功能
查看>>