osgEarth学习笔记1-安装osgEarth开发环境

原文链接

本文主要是为了防止丢失,做一些记录,仅供个人学习使用。

QGis的学习和使用基本告一段落了。日常的应用已经离不开QGis了,常用的QGis-API和跨平台的QT+QGis开发已经十分熟练了。涉及遥感和GIS领域的二维可视化、数据处理使用QT搭配QGis和GDAL基本能够完成绝大部分工作了。在我的工具箱里还缺少一件工具,就是遥感和GIS的三维可视化,也可以说是数字地球的相关开发。仍然是考虑到自己对C++更加熟悉,QT越用越熟,对其跨平台能力十分的崇拜,直接把目标定到OsgEarth上面。知道OsgEarth也是有些年头了,但是一直不得要领,一直没有成功的运行过相关的Demo。这次下定决心无论如何也要把这个工具掌握了。

当前是2021年11月初,我下载的版本记录如下,日后随着版本的升级以下方法也肯定会各种失败的。

osg:3.6.5

osgEarth:3.2.0

1 第三方的安装方法

之前看了各种csdn和知乎的安装方法,前后使用了两周多的业余时间尝试各种方案。问题是:各种网上的方案要么是版本太老了,要么是各种库的下载,各种依赖项缺失,因为你永远不会知道别人的机器已经安装了哪些库。各种安装方案失败以后,十分沮丧。

2 OsgEarth官网方法

最后不得不把目标定到OsgEarth官网的方法上。官网推荐使用vcpkg从源码安装。

在我的windows 上下载vcpkg,运行安装命令。无论是我家里的联通宽带、公司网、还是腾讯云的国内云主机,永远不会让你顺利的连接github下载相关的依赖库。沮丧的很。

最后决定花钱解决问题,上腾讯云买了1核2GB,50GB存储,最低配的海外云主机,系统windows server2012 ,地区首尔。首尔好像最便宜,70多元一个月。

2.1 远程登录首尔主机

安装firefox,慢的要死,忍了,毕竟1核2GB还要跑windows。

下载

https://github.com/Microsoft/vcpkg

解压缩,然后打开控制台,输入

bootstrap-vcpkg.bat

如果下载vcpkg.exe失败可以直接下载这个exe文件到目录下:

https://github.com/microsoft/vcpkg-tool/releases/download/2021-09-10/vcpkg.exe

2.2 开始安装osgEarth

在vcpkg的目录下打开控制台,输入命令

vcpkg install osgearth:x64-windows

漫长的等待。。。。

出现libxml2错误,手工下载(具体链接vcpkg会打印在控制台上,很奇怪,只有这个库从浏览器下载就可以,自动下载就是不行)放到vcpkg的downloads目录下,再次运行命令vcpkg install osgearth:x64-windows,vcpkg会接着上次运行的进度继续运行,这点太贴心了。

漫长的等待。。。。

终于可以运行到编译步骤了,最后占用了全部50GB的系统盘,提示编译失败。

在腾讯云花钱扩展到100GB,重启,再次执行上面命令(vcpkg install osgearth:x64-windows),从早上5点30到中午12点,cmake又提示超出内存。

再次充钱,花了80元升级到2核4GB内存,再次运行命令(vcpkg install osgearth:x64-windows)。再过了大概2-3小时,终于完成。

2.3初步测试编译是否成功

我的云主机应该是没有显卡这类硬件支持,运行demo失败。

将install打包以后,通过sftp或者邮件搞到自己的电脑里。

在 gwaldron-osgearth-**** git源代码解压目录下,拷贝

osgearth-.../tests/simple.earth

osgearth-.../data

到 .../installed/x64-windows/tools/osgearth 目录下,打开控制台,输入命令

osgearth_toc simple.earth 结果如下,下面第二图试了另一个demo。

x64编译成功以后,考虑到以后要与我的x86的QGis联合搭建软件平台,所以我又编译了x86版本的库,命令如下:

vcpkg install osgearth:x86-windows

编译完成后会在install目录下出现x86的构建后的结果子目录。

【完】

相关推荐
咖啡里的茶i15 分钟前
Vehicle友元Date多态Sedan和Truck
c++
海绵波波10721 分钟前
Webserver(4.9)本地套接字的通信
c++
黑叶白树25 分钟前
简单的签到程序 python笔记
笔记·python
@小博的博客27 分钟前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
幸运超级加倍~1 小时前
软件设计师-上午题-15 计算机网络(5分)
笔记·计算机网络
南宫生1 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
爱吃喵的鲤鱼1 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
懒惰才能让科技进步2 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
7年老菜鸡2 小时前
策略模式(C++)三分钟读懂
c++·qt·策略模式
Ni-Guvara2 小时前
函数对象笔记
c++·算法