osgEarth2.2+vs2010+win7安装说明(dm0720)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
第一章OSGEarth编译环境配置 (2)
第一节OSGEarth V2.0相关资源 (2)
第二节Open Scene Graph安装与配置 (2)
2.1 CMake介绍与安装 (3)
2.2 Open Scene Graph介绍 (3)
2.3 Open Scene Graph 安装 (4)
第三节CURL安装与配置 (15)
3.1 CURL介绍 (15)
3.2 CURL编译 (16)
第四节GDAL安装与配置 (18)
4.1 GDAL介绍 (18)
4.2 GDAL编译 (19)
第五节GEOS安装与配置 (20)
5.1 GEOS介绍 (20)
5.2 GEOS编译 (20)
第六节Expat安装与配置 (25)
6.1 Expat介绍 (25)
6.2 Expat配置 (25)
第七节SQLite安装与配置 (26)
7.1 SQLite介绍 (26)
7.2 SQLite编译与配置 (26)
第八节Minizip安装与配置 (28)
8.1 MiniZip介绍 (28)
8.2 MiniZip的编译与配置 (28)
第九节Virtual Planet Builder安装与配置...................................................................... 错误!未定义书签。

9.1 Virtual Planet Builder介绍.................................................................................. 错误!未定义书签。

9.2 Virtual Planet Builder编译.................................................................................. 错误!未定义书签。

最后其他资源的配置 (29)
X.1 Open Scene Graph 第三方支持库 .................................................................. 错误!未定义书签。

X.2 libzip库 (29)
X.3 Osgearth资源下载 (30)
第二章OSGEarth编译 (33)
第一节sln生成 (33)
1.1 CMAKE配置 (33)
1.2 VS2010配置 (38)
第二节OSGEarth编译与测试 (40)
2.1 OSGEarth编译 (40)
2.2 OSGEarth测试 (42)
第三章OSGEarth学习....................................................................................................... 错误!未定义书签。

第一章OSGEarth编译环境配置
OSGEarth的编译环境配置随着版本的不同、运行平台的不同,也有很大的差异。

本章主要以Windows XP SP3(x86)为平台,Visual Studio 2010 为编译环境来介绍OSGEarth 2.0的变异环境配置。

第一节OSGEarth V2.0相关资源
OSGEarth的相关资源可以通过其官方网站(/wiki/Downloads)获取(所有资源文件均在关盘的source文件夹中)主要资源说明和网址如下表:
以上有些版本已经过期,仅供参考,最好按后面的说明边载边做。

第二节Open Scene Graph安装与配置
为了提高OSGEarth在编译过程中执行速度,降低计算机硬件要求,因此选用windows XP SP3作为测试系统平台,vs2010作为windows平台下最新的编译软件,具有windows平台的兼容性考虑,编译出来的EXE 文件可以顺利的部署在vista,win7上。

2.1 CMake介绍与安装
CMake 是个跨平台的自动化建构系统,它用组态档控制建构过程(build process)的方式和Unix 的Make 相似,只是CMake 的组态档取名为CmakeLists.txt。

Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如Unix 的Makefile 或Windows Visual C++ 的projects/workspaces),然后再依一般的建构方式使用。

这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake 和SCons 等其他类似系统的区别之处。

CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。

CMake 支援in-place 建构(二进档和源代码在同一个目录树中)和out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。

CMake 也支援静态与动态程式库的建构。

支持VS2010的CMake版本为v2.8以上,本书选择V2.8.4。

下载地址:
/f/14399926.html或者/
关于的cmake的具体用法请参看
/Development/Tutorials/CMake_(zh_CN)
或者
/Wiki/CMake。

下载完成后安装,在安装选项的位置选择:
其他可选择默认安装。

2.2 Open Scene Graph介绍
Open Scene Graph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。

它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL 硬件抽象层(HAL)实现了底层硬件显示的驱动。

2.2.1优势
OpenGL技术为图形元素(多边形、线、点……)和状态(光照、材质、阴影……)的编程提供了标准化的接口。

而OSG开发的主要意义在于,将3D场景定义为空间中一系列连续的对象,以进行三维世界的管理。

正是由于场景及其参数定义的特点,通过状态转化、绘图管道和自定制等操作,OSG还可以用于优化渲染性能。

从系统开发人员的角度看,相比工业标准OpenGL 或其它的图形库,OSG的优点显而易见。

除了开源和平台无关性以外,它封装并提供了数量众多的提升程序运行时性能的算法、针对包括分页数据库在内的几乎所有主流数据格式的直接数据接口、以及对脚本语言系统Python 和Tcl 的支持,特别的,支持脚本语言系统的意义不仅限于用户可以使用除C++语言以外的工具进行图形系统的开发,事实上,对弱类型计算机语言的支持将突破现有交互式图形系统在人-机交互性能方面的最终限制。

OSG采用以下思想和工具进行构建:
1.ANSI标准C++;
2.C++标准模板库(STL);
3.设计模式(Design patterns)。

这些工具使得OSG的开发者可以在自己喜好的平台上进行开发,并且依据用户所要求的平台进行配置。

2.2.2硬件需求
如今的OSG 已经可以在多种硬件平台和操作系统上运行,并且能够在大部分计算机系统上正常使用。

处理器:OSG 可以在大部分的CPU 上编译通过。

OSG 具备线程安全性,并且可以有效利用多处理器和双核结构的特性。

OSG 可以在32 位或者64 位处理器上运行通过。

图形:你的计算机系统需要配置一块AGP 或者PCI 总线的图形显示卡。

OSG可以在大部分用于建模,仿真和游戏的专业级或大众级图形设备上运行。

可以运行OSG 的图形设备必须高效地支持OpenGL,因此你应当从设备商处获得最新的OpenGL 设备驱动程序。

OSG 对显卡RAM 的需求因用户的使用而异,但是256MB 应当足够了。

OSG 可以在多管(multi-pipe)显示系统上运行,并且可以利用多显卡来提升渲染速度。

RAM:最小的系统RAM 内存需求是由显示数据的数量和类型决定的。

推荐配置为1GB,大型数据集的开发可能需要更多的内存支持。

磁盘:和RAM 一样,磁盘空间的需求大小由数据量决定。

对于任何程序来说,更高速和更大容量的磁盘无疑可以减少数据读取的时间。

2.2.3软件需求
可以运行OSG的平台需要具备OpenGL的支持能力,以及C++的编译环境,支持OSG的系统包括Solaris,IRIX,Windows,Mac OSX,HP-UX,Sony Platystation等等,不过XBox除外。

和OpenGL类似,OSG的核心并没有提供窗口系统的功能。

因此用户可以自由选择所需的图形开发接口,如GLUT,X11/Motif,Win32,MacOS X,Qt,wxWindows,Fox等。

2.3 Open Scene Graph 安装
Open Scene Graph安装与编译还需要下载两个资源:
1.Osg第三方库(3rdParty_VC10_x86_x64.zip),网址:
.au/~bchrist/3rdParty_VC10_x86_x64.zip
2.数据包(OpenSceneGraph-Data-
3.0.0.zip),网址:
/downloads/stable_releases/OpenSceneGraph-3.0/data/OpenSceneGraph-D ata-3.0.0.zip
2.3.1建立文件地址与资源解压
第一步:选择一个磁盘(X),保证磁盘具有30G左右的可用空间,并创建文件夹,X:/OSG/;(作者使用了E 盘,后续如果出现E盘表示选择磁盘)。

第二步:将OpenSceneGraph-3.0.0.zip解压到X:/OSG/OpenSceneGraph文件夹中;3rdParty_VC10_x86_x64.zip 解压到X:/OSG/3rdParty文件夹中;OpenSceneGraph-Data-3.0.0.zip解压到X:/OSG/OpenSceneGraph-Data文件夹中。

X:/OSG/OpenSceneGraph文件夹截图:
X:/OSG/3rdParty文件夹截图:
X:/OSG/OpenSceneGraph-Data文件夹截图:
2.3.2 安装源代码
第一步:启动CMake -gui.exe并设置文件地址,将编译地址设置为E:/osg/OpenSceneGraph/vs2010。

第二步:点击“configure”:
以此出现以下过程:
点击“YES”:
选择“visual studio 2010”,点击“Finish”:
2.3.3配置CMAKE相关设置
第一步:配置环境变量
第一步:设置基本参数
ACTUAL_3RDPARTY_DIR值:E:/OSG/3rdParty;
BUILD_OSG_EXAMPLES值:ON
CMAKE_INSTALL_PREFIX值:E:/osg/OpenSceneGraph/vs2010
第二部:点击Configure;
(红色标记为需要修改或设置不清楚的地方)。

第三步:将Advanced打勾,将BUILD_MFC_ EXAMPLE设置为on,然后进行最后一次的Configure配置。

第四步:点击Generate,自此建构完成。

(只有出现了“Generating done”才表示生成完成,否则需要根据提示修改CMAKE的相关设置)
打开文件夹E:\osg\OpenSceneGraph\vs2010,可以看见:
2.3.4编译Open Scene Graph
第一步:用VS2010打开OpenSceneGraph.sln(此文件在E:\OSG\OpenSceneGraph\VS2010下),过程可能需要较长时间,请耐心等待。

第二步:配置VS2010的相关设置。

点击“生成”,估计需要3-6个小时。

第三步:验证生成的文件
在E盘新建E:\osgearth\OpenSceneGraph文件夹。

(说明:E:\osgearth文件夹是用来编译osgearth的文件夹)
将E:\osg\OpenSceneGraph\vs2010下的bin,include,lib文件夹拷贝到E:\ osgearth\OpenSceneGraph下(可以删除vs2010生成的临时文件,即bin中保留dll和exe文件,include不用处理,lib中保留lib文件),将E:\osg\OpenSceneGraph-Data下的数据拷贝到E:\ osgearth\OpenSceneGraph\data下;这几个文件是OSG需要的。

将E:\osg\OpenSceneGraph下的include和src文件夹拷贝到E:\ osgearth\OpenSceneGraph下,否则后面编译可能找不到文件。

将E:\osg\3rdparty\x86文件夹中的bin,include,lib合并到E:\ osgearth\OpenSceneGraph下,这样后面编译的时候需要包含的路径会少一些。

测试文件:
1.打开E:\ osgearth\OpenSceneGraph\bin\osgviewerMFC.exe
2.打开E:\ osgearth\OpenSceneGraph\data文件中的.osg或者.osgt文件,使用鼠标拖动观察程序运行情况。

正常现象。

第三节CURL安装与配置
3.1 CURL介绍
curl是利用URL语法在命令行方式下工作的文件传输工具。

它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及LDAP。

curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传, 上载文件断点续传, http代理服务器管道(proxy tunneling), 甚至它还支持IPv6, socks5代理服务器, 通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

Windows操作系统下的网络蚂蚁,网际快车(FlashGet)的功能它都可以做到。

准确的说,curl支持文件的上传和下载,所以是一个综合传输工具,但是按照传统,用户习惯称curl为下载工具。

curl是瑞典curl组织开发的,您可以访问http://curl.haxx.se/获取它的源代码和相关说明。


http://curl.haxx.se/docs/您可以下载到UNIX格式的man帮助,里面有详细的curl工具的使用说明。

3.2 CURL编译
首先解压curl-7.22.0.zip到E:\osgearth\curl。

第二步:使用vs2010打开vc6curl.dsw,出现的提示全部选择“是”。

第三步:设置生成
编译完成的界面显示:
第四步:文件转移。

将E:\osgearth\curl\include\curl文件夹复制到E:\ osgearth\OpenSceneGraph\include文件夹中;
将E:\osgearth\lib文件夹中(包含子文件夹)的dll和lib文件复制到E:\ osgearth\OpenSceneGraph\lib 文件夹中。

将E:\osgearth\curl\src文件夹复制到E:\ osgearth\OpenSceneGraph\src文件夹中;
包括后面的安装也是一样,尽量把bin中的exe,dll,include,lib中的lib,dll,src文件夹都复制到E:\ osgearth\OpenSceneGraph\中去,这样后面osgearth编译的时候包含文件相对容易处理,而且可以避免出现编译时出错error1083:找不到osg/version这样的问题。

第四节GDAL安装与配置
4.1 GDAL介绍
GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。

它利用抽象数据模型来表达所支持的各种文件格式。

它还有一系列命令行工具来进行数据转换和处理。

OGR是GDAL项目的一个分支,功能与GDAL类似,只不过它提供对矢量数据的支持。

有很多著名的GIS类产品都使用了GDAL/OGR库,包括ESRI的ArgGIS 9.2,Google Earth和跨平台的GRASS GIS系统。

利用GDAL/OGR 库,可以使基于Linux的地理空间数据管理系统提供对矢量和栅格文件数据的支持。

4.1.1 GDAL
GDAL提供对多种栅格数据的支持,包括Arc/Info ASCII Grid(asc),GeoTiff (tiff),Erdas Imagine Images(img),ASCII DEM(dem) 等格式。

1)GDAL抽象数据模型
GDAL使用抽象数据模型(abstract datamodel)来解析它所支持的数据格式,抽象数据模型包括数据集(dataset),坐标系统,仿射地理坐标转换(Affine GeoTransform),大地控制点(GCPs),元数据(Metadata),栅格波段(Raster Band),颜色表(ColorTable),子数据集域(Subdatasets Domain),图像结构域(Image_StructureDomain),XML域(XML:Domains)。

2)GDAL基础类
GDALMajorObject类:带有元数据的对象。

GDALDdataset类:通常是从一个栅格文件中提取的相关联的栅格波段集合和这些波段的元数据;GDALDdataset也负责所有栅格波段的地理坐标转换(georeferencing transform)和坐标系定义。

GDALDriver类:文件格式驱动类,GDAL会为每一个所支持的文件格式创建一个该类的实体,来管理该文件格式。

GDALDriverManager类:文件格式驱动管理类,用来管理GDALDriver类。

4.1.2 OGR
OGR提供对矢量数据格式的读写支持,它所支持的文件格式包括:ESRI Shapefiles,S-57,SDTS,PostGIS,Oracle Spatial,Mapinfo mid/mif ,Mapinfo TAB。

OGR包括如下几部分:
Geometry:类Geometry(包括OGRGeometry等类)封装了OpenGIS的矢量数据模型,并提供了一些几何操作,WKB(Well KnowsBinary)和WKT(Well Known Text)格式之间的相互转换,以及空间参考系统(投影)。

Spatial Reference:类OGRSpatialReference封装了投影和基准面的定义。

Feature:类OGRFeature封装了一个完整feature的定义,一个完整的feature包括一个geometry和geometry的一系列属性。

Feature Definition:类OGRFeatureDefn里面封装了feature的属性,类型、名称及其默认的空间参考系统等。

一个OGRFeatureDefn对象通常与一个层(layer)对应。

Layer:类OGRLayer是一个抽象基类,表示数据源类OGRDataSource里面的一层要素(feature)。

Data Source:类OGRDataSource是一个抽象基类,表示含有OGRLayer对象的一个文件或一个数据库。

Drivers:类OGRSFDriver对应于每一个所支持的矢量文件格式。

类OGRSFDriver由类OGRSFDriverRegistrar 来注册和管理。

4.2 GDAL编译
第一步:将文件解压到E:\osgearth\gdal并打开makegdal10.sln。

(本书解压文件夹为D:\数字地球\gdal-1.8.1\gdal-1.8.1)
第二步:文件转移。

GDAL编译完成后的文件存放于C:\warmerda\bld,包含文件bin,data,html三个子文件夹。

将C:\warmerda\bld\bin和C:\warmerda\bld\data拷贝到E:\osgearth\gdal文件夹下;将E:\osgearth\gdal 下的子文件夹alg,gcore,ogr和port中所有的.h文件拷贝到E:\osgearth\gdal\include下; 将E:\osgearth\gdal 中所有的lib和dll文件复制到E:\osgearth\gdal\lib文件夹下。

同时将bin,data,include,lib,src觉得可能有用的都拷到E:\osgearth\OpenSceneGraph中。

第五节GEOS安装与配置
5.1 GEOS介绍
GEOS(几何引擎——开源)是一个Java拓扑套件(JTS)的C++移植。

因此,它的目的是在C++中包含完整的JTS移植。

这包括了所有的OpenGIS“简单SQL特征”:空间预测函数和空间操作员,以及具体的JTS 拓扑功能
5.2 GEOS编译
第一步:将文件解压到E:\osgearth\geos文件夹;
第二步:启动CMake -gui.exe并设置文件地址,将编译地址设置为E:\osgearth\geos\vs2010。

第三步:点击“configure”:
第三步:修改参数。

Cmake_install_PREFIX值为E:\osgearth\geos\vs2010.并在此点击“configure”。

第四步:点击“Generate”
E:\osgearth\geos文件夹截图:
第五步:打开E:\osgearth\geos\vs2010 \geos.sln
开始编译,编译结果截图:
第六步:文件转移。

在E:\osgearth\geos\vs2010文件夹中搜索lib和dll文件,并将搜索到的文件复制到E:\osgearth\geos\lib文件夹中;
同时将bin,data,include,lib,src觉得可能有用的都拷到E:\osgearth\OpenSceneGraph中。

第六节Expat安装与配置
6.1 Expat介绍
Expat 是一个用C语言开发的、用来解析XML文档的开发库,它最初是开源的、Mozilla 项目下的一个XML解析器。

Expat是一个面向流的解析器。

您注册的解析器回调(或handler)功能,然后开始搜索它的文档。

当解析器识别该文件的指定的位置,它会调用该部分相应的处理程序(如果您已经注册的一个)。

该文件被输送到解析器,会被分割成多个片断,并分段装到内存中。

因此expat可以解析那些巨大的文件。

6.2 Expat配置
第一步:直接下载expat-win32bin-2.0.1.rar文件,解压后安装。

第二步:文件转移
将C:\Program Files\Expat 2.0.1\Source\lib文件夹中的h文件复制到E:\osgearth\expat\INCLUDE文件夹中;
将C:\Program Files\Expat 2.0.1\Bin文件复制到E:\osgearth\expat\lib文件夹中。

同时将bin,data,include,lib,src觉得可能有用的都拷到E:\osgearth\OpenSceneGraph中。

第七节SQLite安装与配置
7.1 SQLite介绍
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本SQLite 3已经发布。

7.2 SQLite编译与配置
第一步:解压文件。

1.将sqlite-amalgamation-3070900.zip文件中的文件复制到E:\osgearth\sqlite\include中;
2.将sqlite-dll-win32-x86-3070900.zip中文件复制到E:\osgearth\sqlite\lib中;
3.从VS2010的安装文件夹中的Visual Studio 10/VC/bin中找到LIB.exe和Link.exe复制到E:\osgearth\sqlite\lib;
4.将C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\mspdb100.dll复制到E:\osgearth\sqlite\lib;
第二步:编译lib文件。

1.打开cmd窗口,进入E:\osgearth\sqlite\lib;
2.输入命令:LIB /DEF:sqlite
3.def。

生成lib文件
编译后E:\osgearth\sqlite\lib文件夹截图:
同时将bin,data,include,lib,src觉得可能有用的都拷到E:\osgearth\OpenSceneGraph中。

第八节Minizip安装与配置
8.1 MiniZip介绍
ZIP,是一个计算机文件的压缩的算法,原名Deflate(真空),发明者为菲尔·卡茨(Phil Katz)),他于1989年1月公布了该格式的资料。

ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip 。

目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。

从性能上比较,RAR格式较ZIP格式压缩率较高,而7-Zip由于提供了免费的压缩工具而逐渐在更多的领域得到应用。

WinMount可以把ZIP挂载到虚拟盘,无需解压,随机读取,这又是另一大创新。

ZIP是一种相当简单的分别压缩每个文件的存档格式。

分别压缩文件允许不必读取另外的数据而检索独立的文件;理论上,这种格式允许对不同的文件使用不同的算法。

不管用何种方法,对这种格式的一个告诫是对于包含很多小文件的时候,存档会明显的比压缩成一个独立的文件(在类Unix系统中一个经典的例子是普通的tar.gz存档是由一个使用gzip压缩的TAR存档组成)要大。

ZIP的规约指出文件可以不经压缩或者使用不同的压缩算法来存储。

然而,在实际上,ZIP几乎差不多总是在使用卡茨(Katz)的DEFLATE算法。

ZIP支持基于对称加密系统的一个简单的密码,现在已知有严重的缺陷,已知明文攻击,字典攻击和暴力攻击。

ZIP也支持分卷压缩。

在近来一段时间,ZIP加入了包括新的压缩和加密方法的新特征,不过这些新特征并没有被许多工具所支持并且没有得到广泛应用。

8.2 MiniZip的编译与配置
将unzip101h.zip中的文件复制到E:\osgearth\minizip\include;将zlib125dll.zip中文件夹dll32和static32中的lib文件和dll文件复制到E:\osgearth\minizip\lib中。

同时将bin,data,include,lib,src觉得可能有用的都拷到E:\osgearth\OpenSceneGraph中。

Osgearth编译需要的minizip文件已经处理完成。

如果想对源代码进行编译的话,可以按照以下步骤进行:
第一步:启动CMake -gui.exe并设置文件地址,将编译地址设置为D:\zlib125\zlib-1.2.5\vs2010,然后“configure”
第二步:删除文件D:\zlib125\zlib-1.2.5\zcongf.h;
设置Cmake_install_PREFIX值为D:\zlib125\zlib-1.2.5\vs2010;然后再次“configure”
“Generate”
D:\zlib125\zlib-1.2.5\vs2010截图
第三步:打开并编译zlib.Sln。

最后其他资源的配置
X.1 libzip库
Libzip 的功能与minizip相同,但由于使用的位置不同,为了后续配置osgearth,在此进行说明:
从/eaglezhao/libzip(vs10).rar下载libzip(vs10).rar,将libzip(vs10).rar中的文件复制
到E:\osgearth\libzip文件夹。

X.2 Osgearth资源下载
方式1:
第一步:安装Git-1.7.6-preview20110708.exe,默认安装。

第二步:安装TortoiseGit-1.7.4.0-32bit.msi,默认安装。

第三步:创建一个文件夹E:\osgearth\data。

第四步:下载资源
在url中输入:git:///gwaldron/osgearth.git
点击“ok”,下载过程可能需要较长时间。

下载完成后,将D:\osgearth文件中所有文件复制到E:\osgearth\osgearth文件夹中。

同时将D:\osgearth进行压缩备份。

D:\osgearth文件将可以接收osgearth文件的更新。

从此为止,我们的osgearth环境就算搭建完成。

方式2:
直接到/wiki/Downloads下载最新版
第二章OSGEarth编译
上一章我们做的所有工作都是为了配置OSGEarth,
第一节sln生成
VS2010的sln文件生成是OSGEarth的关键。

作者在配置出现很多错误,从而导致了使用VS2010编译出现很多问题。

1.1 CMAKE配置
第一步:启动CMake -gui.exe并设置文件地址,将编译地址设置为E:\OSGEARTH\OSGEARTH\vs2010,然后“configure”
添加方法:点击“Add Entry”,弹出Add Cache Entry对话框(如下图所示)
完成后cmake参数列表顶端出现添加的两个参数:
第二步:设置相关参数
说明:
“*-NOTFOUND”的参数实在没有的清空。

尽量使用E:/osgearth/openscenegraph里的include和lib,位置跟下表有些不同,但是用的库是一样的,
如下图:
设置完成后再次“configure”
第三步:生成vs2010文件。

点击“Generate”,结果如下:
E:\osgearth\osgearth\vs2010文件夹截图:
1.2 VS2010配置
第一步:使用vs2010打开E:\osgearth\osgearth\vs2010 \OSGEARTH.sln文件。

第二步:打开all_build工程属性,设置库目录和包含目录。

包含目录:全部用E:\osgearth\openscenegraph\include里头的就可以,别忘了把子文件夹curl等加上
库目录:只需要E:\osgearth\openscenegraph\lib就够了
保存所有文件,这样SLN文件就可以使用了。

第二节OSGEarth编译与测试
2.1 OSGEarth编译
第一步:配置系统环境变量。

新设置OSG_FILE_PATH变量,值为E:\OSGearth\OSGEARTH\data; E:\OSGearth\GDAL\data(可不要)向PATH添加值:
E:\osgearth\openscenegraph\bin;
E:\OSGearth\OSGEARTH\2012\bin\Debug;
E:\OSGearth\OSGEARTH\2012\bin\Release
第二步:使用“生成”->“批生产”,选择all_build(debug|win32和release|win32)进行生成。

在编译过程中存在4个文件无法编译成功,但是不影响正常的测试。

第三步:修改这些错误。

上述错误的问题主要出现在
E:\osgearth\osgearth\src\applications\osgearth_imageoverlay\osgearth_imageoverlay.cpp文件的36-39行。

原因是OSG_MIN_VERSION_REQUIRED(2,9,6)限制了osg的版本。

本文使用了v3.0.1版,因此需要添加需要添加ImageOverlayEditor文件。

(目前还没有解决)
2.2 OSGEarth测试
测试release版本:
把lib中所有的dll都复制到release中
1.打开cmd窗口,进入E:\osgearth\osgearth\vs2010\bin\Release;
2.输入命令:osgearth_viewer.exe E:\osgearth\osgearth\tests\gdal_tiff.earth
3.测试成功会出现下面界面:。

相关文档
最新文档