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的构建后的结果子目录。

【完】

相关推荐
落羽凉笙18 小时前
Python学习笔记(3)|数据类型、变量与运算符:夯实基础,从入门到避坑(附图解+代码)
笔记·python·学习
Quintus五等升18 小时前
深度学习①|线性回归的实现
人工智能·python·深度学习·学习·机器学习·回归·线性回归
会周易的程序员19 小时前
多模态AI 基于工业级编译技术的PLC数据结构解析与映射工具
数据结构·c++·人工智能·单例模式·信息可视化·架构
jz_ddk19 小时前
[学习] 卫星导航的码相位与载波相位计算
学习·算法·gps·gnss·北斗
华清远见成都中心20 小时前
人工智能要学习的课程有哪些?
人工智能·学习
hssfscv21 小时前
Javaweb学习笔记——后端实战2_部门管理
java·笔记·学习
白帽子黑客罗哥21 小时前
不同就业方向(如AI、网络安全、前端开发)的具体学习路径和技能要求是什么?
人工智能·学习·web安全
lixzest21 小时前
C++上位机软件开发入门深度学习
开发语言·c++·深度学习
于越海1 天前
材料电子理论核心四个基本模型的python编程学习
开发语言·笔记·python·学习·学习方法
我命由我123451 天前
开发中的英语积累 P26:Recursive、Parser、Pair、Matrix、Inset、Appropriate
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法