osgEarth编译

osgEarth的编译需要osg和一些第三方插件库,我主要参考了cnblogs上的一篇博文,但是也不够详细,并且我是在已经编译好osg的情况下去编译osgEarth,所以期间也遇到了一些问题,下面我详细说明:

  • 注意:首先需要你编译所有插件和osg的,以及osgEarth的都要使用同一个VS平台,下面的编译均是在VS2008 sp1环境下进行的
  • 准备工作(参考缑城浪子博客)

    下载所需要的插件和库包括:

    下载: http://osgearth.org/wiki/Downloads

    CURL (curl-7.21.7.tar.gz): http://curl.haxx.se/download.html

    GDAL(gdal-1.8.0.tar.gz):http://trac.osgeo.org/gdal/wiki/DownloadSource

    GEOS(geos-3.2.2.tar.bz2):http://trac.osgeo.org/geos/

    exe文件:http://files.cnblogs.com/eaglezhao/expat-win32bin-2.0.1.rar

    libzip(libzip-windows.zip): code:http://nih.at/libzip/

    编译好的包供下载:

    vs2008: http://wush.net/trac/osgearth/raw-attachment/wiki/Downloads/libzip-windows.zip

    vs2010:

    http://files.cnblogs.com/eaglezhao/libzip(vs10).rar

    OSGEARTH(SVN上下载):svn: http://svn.github.com/gwaldron/osgearth.git(目前最新版是osgearth 2.0)

  • 安装:
    • CURL

      注意你下载的如果是源码版本,直接用VS2008编译,还可以下载预编译的版本,但是里面缺少一个调试的库文件.

      编译好后将目录下的include/curl下文件拷到E:\OSG\3rdparty\include\curl ,进行覆盖

      编译好后将目录下的lib下的libcurl.dll文件拷到E:\OSG\3rdparty\bin ,进行覆盖

    • GDAL

      下载完GDAL的源码后,还需要先运行makegdal_gen.bat这个文件,然后打开X:\Program Files\Microsoft Visual Studio\VC98\bin\VCVARS32.BAT,X代表你VS的安装盘.打开后用cd命令切换到你GDAL的目录下执行命令,nmake /f makefile.vc MSVC_VER=1500 BUILD_DEBUG=YES,其中1500代表VS版本2008,当然你也可以进入nmake配置文件修改.

      GDAL编译完成后的文件存放于C:\warmerda\bld,包含文件include,lib,data,bin,可将它们拷贝到GDAL文件夹下,置于OSG目录下。最后进行以下工作:

      将alg、gcore、ogr、port文件夹下的.h文件拷贝到include下, 将生成的lib、 dll 包括: gdal_i.lib gdal.lib cpl.lib(port目录下) ogr.lib(ogr目录下), 以及gdal18.dll

      拷贝到D:\OSG\GDAL\lib下

    • GEOS

      用编译GDAL同意的办法编译完成GEOS.将生成的geosd.lib,geos.lib, geos_c_i.lib, geosd_c_i.lib拷贝到D:\OSG\geos\lib下,将geos-3.2.2\source\headers下的geos文件夹拷贝到include下.

    最后的文件结构如图:

    注意里面的expat我并没有用上,可能已经被其他的库所包含了.

    osg是已经编译好的,并且osg的环境变量已经设定好,那么cmake会自动找到你的osg

    的路径的.

  • 编译osgEarth

    使用cmake打开osgEarth的cmakeLIsts.txt

    改DYNAMIC_OSGEARTH (BOOL变量) ON

    OSG_DIR (PATH) X:/OSG/OpenSceneGraph

    具体cmake里面的设置参照下图:

    最后就是要将里面的notfound的项的内容删除,也就是置空.

    接着就生成VS的解决方案,进入VS以后里面要设置包含文件和库文件

  • 生成完成后,再运行INSTALL工程进行生成。

    注意要生生成debug和release两个版本,和osg一样,debug和release版本要对应, 否则将会出错,对应的调试命令和库文件都要单独设置,否则可能会出现找不到插件或者其他问题.

  • 环境变量配置

    将D:\OSG\OSGEARTH\lib\Debug和Release文件夹下的文件全部拷贝到D:\OSG\OSGEARTH\bin下的Debug和Release文件夹下,再运行.exe,缺什么.dll,搜索拷贝进去即可(gdal18.dll在GDAL文件夹下)。

    环境变量设置

    OSG_FILE_PATH:D:\OSG\OSGEARTH\data;D:\OSG\GDAL\data;

    PATH:E:\OSG\3rdParty\bin;D:\OSG\OSGEARTH\bin\Debug; D:\OSG\OSGEARTH\bin\Release;

    最后你从cmd进入源码目录的tests文件夹,测试是否安装成功.

    出现一个有纹理的地球,说明已经安装成功.否则就是有错误.大部分情况是插件编译的问题.

osgEarth编译(转载)的更多相关文章

  1. OSGEarth编译

    解决OSGEarth编译时出现error LNK1181: 无法打开输入文件“optimized.lib的问题 以下方案受到了osg大神qq网名为“阿威.小号”的帮助. 在采用Cmake3.6.2创建 ...

  2. OSG+VS2010+win7环境搭建---OsgEarth编译

    OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...

  3. 第一讲(3)osgearth编译

    前题条件完成osg 3.0的编译Step 1 下载osgEarth 2.1.1https://github.com/gwaldron/osgearth/downloads------------> ...

  4. osgEarth编译——以VS2012为例

    整理记录下 osgEarth编译过程. osgEarth是依赖于OSG的三维地理平台. 准备工作 OpenSceneGraph-3.4.0.zip OSG_3RDPARTY_DIR    http:/ ...

  5. osgEarth编译的一些问题

    这两天借着osg培训的机会捯饬了下64位osgearth的编译.遇到了一些问题: 首先我没有编译osg,用的提供的osg3.2.1编译好的64位包. 编译osgearth先后编译了2个版本,先是2.7 ...

  6. osgearth介绍(转载)-feature_labels.earth

    初识osg OSG的诞生 在 1997 年时,Don Burns 由于喜欢滑翔机运动且对计算机图形学非常熟悉,在 LINUX 上写了一个控制滑翔机的小引擎,这便是 OSG 的最初雏形.后来在 1998 ...

  7. osgearth 编译日志

    1>------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake does n ...

  8. VS2015 osgEarth 编译

    E:\OpenSourceGraph\CURL_install\includeE:\GDAL\includeE:\Geos\geos_3_5_install\includeE:\OpenSourceG ...

  9. Windows下OSGEarth的编译过程

    目录 1. 依赖 1) OpenSceneGraph 2) GDAL 3) CURL 4) GEOS 5) 其他 2. 编译 1) 设置参数 2) 配置路径 3) 生成编译 3. 参考文献 1. 依赖 ...

随机推荐

  1. listview的条目(item)如何做出卡片效果

    卡片,其实就是一张背景图片,但做也还需要注意一点. 错误做法: <?xml version="1.0" encoding="utf-8"?> < ...

  2. Notice: ob_end_clean() [ref.outcontrol]: failed to delete buffer. No buffer to delete

    解决方法一 @ob_end_clean(); 解决方法二 if(ob_get_contents()) ob_end_clean();

  3. 【第k小素数 】 打表问题

    Prime Number TimeLimit: 1 Second MemoryLimit: 32 Megabyte Totalsubmit: 399 Accepted: 88 Description ...

  4. HDU 3038 How Many Answers Are Wrong 很有意思的一道并查集问题

    题目大意:TT 和 FF玩游戏(名字就值五毛),有一个数列,数列有N个元素,现在给出一系列个区间和该区间内各个元素的和,如果后出现的一行数据和前面一出现的数据有矛盾,则记录下来.求有矛盾数据的数量. ...

  5. html常见标签使用

    <body> <!--标题标签--> <h1></h1> <h2></h2> <h3></h3> < ...

  6. wind10系统 Atheros AR9271 Wireless Network Adapter USBwifi无线网卡的驱动安装解决无法搜索wifi信号,连接wifi信号无法上网的问题

    一.解决无法搜索wifi信号的问题 卸载掉之前的驱动,上网下载其他的驱动程序安装. http://drivers.mydrivers.com/drivers/463_185289.htm 二.安装完后 ...

  7. 如何给对话框中的控件发送消息呢?Windows消息分类

    以博文CTabCtrl中介绍的那样,给Tab添加子对话框来显示Tab内容.那么如果这个子对话框中含有个CTreeCtrl控件,有个Button控件,我想要模拟给这两个控件发送消息,该怎么办呢?直接把给 ...

  8. 解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog

    原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件. 该命令的 ...

  9. 说说Core Animation

    前言 本次分享将从以下方面进行展开: 曾被面试官问倒过的问题:层与视图的关系 CALayer类介绍及层与视图的关系 CAShapeLayer类介绍 UIBezierPath贝塞尔曲线讲解 CoreAn ...

  10. MySQL 批量导入 csv 文件

    注意编码一致性,如:我的数据库是utf-8编码,csv文档的编码也是utf-8. 导入使用 LOAD DATA LOCAL INFILE 详细用法请参看文档或者书籍. mysql  user表结构: ...