原文链接
本文主要是为了防止丢失,做一些记录,仅供个人学习使用。
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的构建后的结果子目录。
【完】