专栏首页代码编写世界Windows下OSGEarth的编译过程

Windows下OSGEarth的编译过程

1. 依赖

OSGEarth的编译还是比较简单的,首先是要获取编译的依赖。

1) OpenSceneGraph

OSGEarth是OpenSceneGraph扩展库,编译过程可以参看我的另一篇文章:Win64下编译OSG详细过程(Win10+VS2015+OSG3.6.3)

2) GDAL

通用的用于读写空间数据的一套跨平台开源库,OSGEarth很多对于空间数据的支持就是GDAL实现的。编译过程:Win64下编译集成GEOS和Proj4的GDAL

3) CURL

网络文件传输库,跟在线地图服务相关。同时它也是OpenSceneGraph的第三方依赖库,直接拿过来用就可以了。

4) GEOS

GEOS是一个集合形状的拓扑关系操作实用库。osgEarth使用GEOS执行像缓冲和交叉这样的几何操作。虽然它是可选的依赖库,为了使用完整的矢量要素功能,建议加上这个类库。编译过程:VS2015编译GEOS的debug和release版本

5) 其他

在官方的编译帮助文档里面还提到了SQLite和QT。SQLite应该是使用某些数据库文件的时候才用到,适用范围应该较小。而现在的版本应该也不用依赖QT组件,反正我是没有看到编译参数的,需要在QT中使用osgEarth的话,可以使用osgQT。

2. 编译

1) 设置参数

打开CMake,在“Where is the source code”填写源代码目录,在“Where to build the binaries”填写工程构建目录,然后点击“Configure”,如下图所示:

注意在第一次“Configure”的时候会让你选择编译器,我这里选择的是VS2015的X64编译器。

2) 配置路径

第一次配置一般是不成功的,会提示缺少依赖库。这个时候可以把依赖的路径依次填入,重新“Configure”就可以了。我这边的填写的路径参考如下:

OSG有非常多的子类库,所以如果自己一个个填写的话非常麻烦。这里有个快速办法,首先按照如下图方式组织文件夹C,将头文件都放入到include子文件中,lib文件放入到lib子文件夹里面(debug和release都可以)。然后填写文件夹C到OSG_DIR编译项,最后再次“Configure”,就可以帮你自动识别了相关的路径了。

3) 生成编译

配置过程可以边填写边“Configure”,直到最后不再提示缺少相应的依赖库。如下图所示,提示“configuring done”(提示的警告和缺失组件不是必须)。

然后点击“Generate”,生成VS项目工程,点击“Open Project”打开项目工程。最后在VS生成解决方案,等待编译完成就可以了。

3. 参考文献

  1. Building osgEarth
  2. osgearth编译全过程

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows下编译64位CGAL

    CGAL的官网准备了压缩包和安装程序两种类型的的源代码,推荐使用安装程序包,因为其中自带了编译好的gmp和mpfr库。gmp和mpfr是CGAL的依赖库,如果自...

    charlee44
  • Cesium案例解析(六)——3DTilesInspector监视器

    3D Tiles作为传输和渲染大规模3D地理空间数据的格式,应对的都是大规模数据的场景,Cesium提供了一个监视3D Tiles数据的监视器,可以通过这个监视...

    charlee44
  • 空间直线与球面相交算法

    在严格的数学定义中,直线是无线延长,没有端点的线;射线是一端有端点,另外一段没有端点无线延长的线。但在具体的计算机几何实现中,不可能去找到这种无线延长,没有端点...

    charlee44
  • Eclipse——编译已有工程出现“ No rule to make target”的解决方案

    【问题】:使用Eclipse打开已有工程后,编译出现如下错误“ No rule to make target”;

    Winter_world
  • Windows下编译64位CGAL

    CGAL的官网准备了压缩包和安装程序两种类型的的源代码,推荐使用安装程序包,因为其中自带了编译好的gmp和mpfr库。gmp和mpfr是CGAL的依赖库,如果自...

    charlee44
  • readlink: command not found 解决方案

    /c/Program Files (x86)/Yarn/bin/yarn: line 3: readlink: command not found 用gitba...

    smy
  • Windows下PCL1.9.1配置(编译源码)

    PCL1.9.1并没有支持vs2015版本的exe版本,然后需要下载PCL的源码重新自己CMake编译出vs2015版本的

    点云PCL博主
  • 交叉编译学习笔记(一)——交叉编译和交叉工具链

    交叉编译学习笔记(一)——交叉编译和交叉工具链 最近看论文看的烦,又重新拾起之前没有完全完成的交叉编译,准备在网上找资料,好好研究一下。 参考链接: htt...

    剑影啸清寒
  • .Net Micro Framework移植环境准备

    移植准备 .Net Micro Framework移植必须安装PK最新版本,可以从官网(http://netmf.codeplex.com/)下载,建议安装到C...

    大石头
  • ASP.NET之预编译

    预编译好处:自然是很多的,比如比起动态编译,第一次访问的响应速度肯定是要快的,此外,还可以保护源代码,比如我们网站开发好之后,需要发送给别人部署,我们又不想别人...

    小明爱学习

扫码关注云+社区

领取腾讯云代金券