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. 前端后端分离,怎么解决SEO优化的问题呢?

    对于90%以上的互联网公司来说,前后端分离是必须要做的.目前接手的公司的一个工程,后端是PHP,用的smarty模板,开发效率和之前公司的完全分离相比,确实低不少,一方面需要前端会PHP,另一方面沟通 ...

  2. 关于CORS跨域更细节的思考

    权威的资料看MDN,也可以看阮一峰的文章.不过感觉阮一峰对于CORS的描述有问题,简单请求被阮一峰描述为2次浏览器请求了.这个要自己搭个服务器试一下.跨域基本都是根据域名判断的,自己是否要再买个域名呢 ...

  3. ssh探头安全

    1.  ssh 合约                 SSH 为建立在应用层和传输层基础上的安全协议. SSH 是眼下较可靠,专为远程登录会话和其它网络服务提供安全性的协议.利用 SSH 协议能够有效 ...

  4. uwp - 禁用屏幕翻转/禁用屏幕旋转/禁用横屏模式

    原文:uwp - 禁用屏幕翻转/禁用屏幕旋转/禁用横屏模式 解决方案目录 > Package.appxmanifest 双击打开,把支持的旋转:纵向勾上,只勾这一个其他不勾,就可以了.同理,想让 ...

  5. 在sql语句中 inner join ,left join,right join 和on 以及where

    当使用几种join的时候,on是指表连接起来基于的条件,where是对连接的表进行过滤的条件. where 1=1  当我们需要拼接字符串的时候 在基础sql字符串中写上where 1=1 可以不需要 ...

  6. python3操作注册表设置/取消IE代理

    import io, sys, time, re, os import winreg def enableProxy(IP, Port): proxy = IP + ":" + s ...

  7. Domain adaptation:连接机器学习(Machine Learning)与迁移学习(Transfer Learning)

    domain adaptation(域适配)是一个连接机器学习(machine learning)与迁移学习(transfer learning)的新领域.这一问题的提出在于从原始问题(对应一个 so ...

  8. Python 的神奇方法指南

    简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling). 你可以把它当作一 ...

  9. Python抓取小说

    Python抓取小说 前言 这个脚本命令MAC在抓取小说写,使用Python它有几个码. 代码 # coding=utf-8 import re import urllib2 import chard ...

  10. wpf CefSharp 与 js交互

    原文:wpf CefSharp 与 js交互 通过 NuGet 获取 CefSharp.WpF 组件.  xmlns:cefSharp="clr-namespace:CefSharp.Wpf ...