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. CF 365 div2 D

    http://codeforces.com/contest/703/problem/D 题目大意:给你一个长度为n数组,有q个询问,每次询问一个区间[l,r],这个区间的val就是所有数值为偶数个的数 ...

  2. zabbix Lack of free swap space

    Zabbix初始设计是大型公司用于监控服务器集群的,但日常中也用于监控VPS或云主机.后者情况下Zabbix的很多配置和属性就没有经过优化,取决于监控的对象和用途,经常需要对一些Zabbix配置进行调 ...

  3. notify vs nofifyall

    http://stackoverflow.com/questions/37026/java-notify-vs-notifyall-all-over-again Do you want to tell ...

  4. HDU 4287 Intelligent IME(字典树)

    在我没用hash之前,一直TLE,字符串处理时间过长,用了hash之后一直CE,(请看下图)我自从经历我的字典树G++MLE,C++AC以后,一直天真的用C++,后来的CE就是因为这个,G++才支持这 ...

  5. PAT (Advanced Level) 1091. Acute Stroke (30)

    BFS求连通块.递归会爆栈. #include<cstdio> #include<cstring> #include<cmath> #include<algo ...

  6. 使用response实现文件下载注意点

    创建web工程,使用response实现文件的下载. 在webRoot下创建download文件,里面包含要下载的文件,现在把源码贴上来,然后再说我遇到的问题 public class DownLoa ...

  7. Quartz总结(四):动态修改定时器二

    前文:http://www.cnblogs.com/LiuChunfu/p/5598806.html 提到了一种动态修改定时器的方法, 其本质就是在job方法中注入Schedular的对象,从Sche ...

  8. Quartz总结(一):Quartz集成Spring的2个方法

    零.引言 关于Spring集成Quartz有2种方法: 1. JobDetailBean. 2. MethodInvokeJobDetailFactoryBean. 以下从自身使用和理解以及掌握的知识 ...

  9. fsck害了我很久了,必须关掉,因为他每次打卡都要推迟数十分钟。

    http://crashmag.net/disable-filesystem-check-fsck-at-boot-time Disable the filesystem check (fsck) a ...

  10. Java谜题——类谜题(二)

    1.域的隐藏 代码如下: class Base { public String className = "Base"; } class Derived extends Base { ...