1.下载OsgEaarth2.8源码

https://codeload.github.com/gwaldron/osgearth/legacy.zip/osgearth-2.8

2.下载perl

编译CURL需要perl

http://downloads.activestate.com/ActivePerl/releases/5.24.1.2402/ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe

3.下载CURL源码

https://codeload.github.com/bingxueyouwu/curl/zip/master

4.下载ZLIB源码

http://124.205.69.163/files/523900000520E796/www.zlib.net/zlib-1.2.11.tar.gz

5.下载GDAL源码

  http://124.205.69.132/files/9063000005336BEB/download.osgeo.org/gdal/2.1.3/gdal213.zip

  编译GDAL,打开“VS2015 开发人员命令提示",

    

  进入GDAL-2.1.3的目录,

  编译32位版本命令

    nmake /f makefile.vc

    nmake /f makefile.vc install    

    nmake /f makefile.vc devinstall 

  编译64位版本命令    

   nmake /f makefile.vc MSVC_VER=1900 WIN64=YES

   nmake /f makefile.vc install MSVC_VER=1900 WIN64=YES

   nmake /f makefile.vc devinstall MSVC_VER=1900 WIN64=YES    

   其中 MSVC_VER 和VS版本关系如下

    # nmake -f makefile.vc MSVC_VER=xxxx
    # where xxxx is one of following:
    # 1900 = 14.0(2015)
    # 1800 = 12.0(2013)
    # 1700 = 11.0(2012)
    # 1600 = 10.0(2010)
    # 1500 = 9.0 (2008)
    # 1400 = 8.0 (2005) 
    # 1310 = 7.1 (2003)
    # 1300 = 7.0 (2002)
    # 1200 = 6.0

   可参考  http://www.cnblogs.com/geospatial/p/5634033.html

    

编译geos

>VCVARS32.BAT
>cd d:\geos350
>atuogen.bat
>nmake /f makefile.vc

geos编译出现错误时参考   http://blog.sina.com.cn/s/blog_48ff6e140102x7gg.html

http://blog.csdn.net/csxiaoshui/article/details/51800955

osgearth 暂不支持geos 3.6.1 详见,请使用3.5.1及以前版本

5.下载protobuf

  https://github.com/google/protobuf

 编译protobuf

  https://github.com/google/protobuf/blob/master/cmake/README.md

cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../../install ../..
     cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../../install ../..
     Compiling nmake
     Install nmake install

编译OSGEarth中出现的问题:

1.OSGEarth/QuadTree.h中   找不到META_Shape这个预定义方法,进而产生一系列的错误

解决过程:首先,这QuadTree.h这个文件中看到有<osg/Shape>和<osg/Geometry>两个引用,推断META_Shape这个预定义方法有可能定义在OSG中。

     接着在OPENSCENEGRAPH工程搜索META_Shape,果然在<osg/KdTree>中发现了这个预定义方法,心想是不是OSGEarth工程的引用目录中

     没有添加OSG_INCLUE_PATH,添加之后,依然报错。再次检查了QuadTree.h的引用头文件和命名空间,发现引用命名空间中没有osg,怀疑是

     未引命名空间导致项目找不到KdTree这个头文件,依此思中,在QuadTree.h和QuadTree.cpp中添加 【   using namespace osg;    】后,错

       误消失。

2.提示找不到这个   osg::Referenced::setThreadSafeReferenceCounting  成员方法

解决过程:这个问题相对简单一些,这个方法已经被移除掉了,可参见giuhub上的回答

												

OSGEarth环境搭建的更多相关文章

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

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

  2. OsgEarth开发笔记(一):Osg3.6.3+OsgEarth3.1+vs2019x64开发环境搭建(上)

    前言   OSG研究之后,做地理GIS显示了地球:<项目实战:Qt+OSG教育学科工具之地理三维星球>,这一文章是基于OSG做的,而基于OsgEarth是可以进一步对地球进行深度操作,所以 ...

  3. OsgEarth开发笔记(三):Osg3.6.3+OsgEarth3.1+vs2019x64开发环境搭建(下)

    前言   上一篇编译了proj6.2.0.gdal3.2.1,本篇继续.   OsgEarth编译过程简介   OsgEarth的编译,是基于Osg和OsgEarth结合在一起的,先要编译Osg,然后 ...

  4. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  5. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  6. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  7. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  8. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  9. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

随机推荐

  1. Java带参数的线程类ParameterizedThread——即如何给Thread传递参数

    在Java中似乎没有提供带运行参数的线程实现类,在第三方类库中也没有找到.网上有大量的文章在讨论这个问题,但都没有提供很好的代码封装解决方案,这令我很吃惊.如果读者知道有官方或者第三方的实现方式,欢迎 ...

  2. WSL探索及WSLAPI调用记录

    以前都是在虚拟机上安装linux,居然刚知道win10有WSL(Windows Subsystem for Linux)可以直接在win10上安装linux,消耗低,效率高,很赞,趁着干兴趣把WSL探 ...

  3. WebView 联系(要么button)至 Activity 跳跃在几个方面

    第一 ,写一个 JavaScriptinterface 分类.内实现WebView至Activity 页面跳转 public class JavaScriptinterface { Activity ...

  4. .net core下,Ocelot网关与Spring Cloud Gateway网关的对比测试

    有感于 myzony 发布的 针对 Ocelot 网关的性能测试 ,并且公司下一步也需要对.net和java的应用做一定的整合,于是对Ocelot网关.Spring Cloud Gateway网关做个 ...

  5. EF codefirst第一篇

    一直以来喜欢dbfirst  因为简单,一直不明白为什么codefirst会是主流,根据对ddd的学习终于知道了codefirst的目的 本文是对博客园 小崔的笔记本 文章 EF实体框架之CodeFi ...

  6. what is the difference between definition and declaration in c

    A declaration introduces an identifier and describes its type, be it a type, object, or function. A ...

  7. 通过浏览器调用Android要么iOS应用

    在做移动应用的单点登录时间,需要点击浏览器中启动链接APP和参数传递APP其中,用于处理相应的接口,现在,通过浏览器调用Android和iOS在应用过程中实现理清固化博客.为了查询. 一:通过浏览器调 ...

  8. Entity framework 更改模型,新增表

    在Package Manager Console 中运行命令Enable-Migrations 再次运行可以更新 抄袭 在实体类中增加一个属性以后,执行 Update-Database 命令 ,可以更 ...

  9. angular form set dynamic control(form动态设置control)

    实现效果 form表单控件的实时更新 效果如图 关键代码 validateForm: FormGroup; // 表单校验 constructor( private fb: FormBuilder ) ...

  10. LeapMotion Demo1

    原文:LeapMotion Demo1     LeapMotion SDK For c# 只提供了一个Sample.cs.   Leap Motion App Home 可以给初入手者提供很好的用户 ...