osgEarth安装总结

embedded/2025/3/1 23:01:28/

第一步:安装OSG
直接通过git下载源码,使用cmake进行编译,

git clone --depth 1 https://github.com/openscenegraph/OpenSceneGraph.git
mkdir build
cd build
cmake ..
make
sudo make isntall

编译过程中缺什么库,就安装什么库
安装完成后,
输入命令:

osgversion

显示版本号即可。
接下来安装osgEarth
osgEarth的安装比较麻烦,问题也多,主要是对应的git库下载源码下来后,编译无法一次性通过,报错较多。
通过git下载源码,或者直接下载压缩包。

git clone --depth 1 https://github.com/gwaldron/osgearth.git
mkdir build
cd build
cmake ..
make
sudo make isntall

主要是编译过程中报错较多,
一个是出现缺少tingytf相关的库文件和头文件,直接通过github下载源码,编译安装,并将对应的src文件夹复制到osgearth的third_parth中,
在这里插入图片描述
安装好后,编译通过,会继续报错缺少头文件,rapidjson.h,
同样在github找rapidjson的源码进行编译安装,(我github上下载的编译会报错,在gitee上下载就正常编译通过了)。
和tingytf处理,在osgearth的文件夹中复制,
报错lerc一样处理。

在以上3个均正常安装后,进入下一步(上述3个三方库需要手动安装是由于我使用下载压缩包方式,没有直接git clone,正常直接git clone下来后,再使用git submodule update --init 会直接拉取这些源码)。
三方库军安装完成后,编译出现lerc_decode和lerc_encode的函数问题,采用方法是,将函数对照,缺少的参数补上, 直接给nullptr值即可。缺少(const unsigned char* pValidBytes, // nullptr if all pixels are valid; otherwise 1 byte per pixel (1 = valid, 0 = invalid))参数。在对应报错的文件里面,直接改源码即可。
最后成功后,使用命令

osgearth__version

若提示error,则修改 ~/.bashrc,
在文件最后添加一行

export LD_LIBRARY_PATH=/usr/local/lin:$LD_LIBRARY_PATH

要确保/usr/local/lib文件夹中有libosgearth.so.*相关的问价。
没有则说明安装失败。需要重新安装。

文件修改后,采用source ~/.bashrch 生效


http://www.ppmy.cn/embedded/169172.html

相关文章

Vue-Flow绘制流程图(Vue3+ElementPlus+TS)简单案例

本文是vue3Elementplusts框架编写的简单可拖拽绘制案例。 1.效果图&#xff1a; 2.Index.vue主代码&#xff1a; <script lang"ts" setup> import { ref, markRaw } from "vue"; import {VueFlow,useVueFlow,MarkerType,type Node,type Edge } fro…

Python 爬虫与网络安全有什么关系

Python爬虫和网络安全之间存在密切的关系。爬虫是一种用于自动化从网络上获取信息的程序&#xff0c;而网络安全是保护计算机网络和系统免受未经授权的访问、攻击和数据泄露的实践。本文将探讨Python爬虫与网络安全之间的关系以及如何在爬虫开发中注意网络安全。 爬虫的作用和…

网络安全与认知安全的区别 网络和安全的关系

前言 说说信息安全 与网络安全 的关系 一、包含和被包含的关系 信息安全包括网络安全&#xff0c;信息安全还包括操作系统安全&#xff0c;数据库安全 &#xff0c;硬件设备和设施安全&#xff0c;物理安全&#xff0c;人员安全&#xff0c;软件开发&#xff0c;应用安全等。…

3、HTTP请求报文和响应报文是怎样的,有哪些常见的字段?【中高频】

HTTP请求报文主要是由 请求行、请求头部、空行和请求体 四部分组成&#xff08;第一行必须是一个请求行&#xff08;request line&#xff09;&#xff0c;用来说明请求类型、要访问的 资源 以及使用的HTTP版本。紧接着是一个首部&#xff08;header&#xff09;小节&#xff0…

深度探索:DeepSeek与鸿蒙HarmonyOS应用开发的深度融合

文章目录 一、概述1.1 什么是DeepSeek&#xff1f;1.2 鸿蒙HarmonyOS的特点 二、技术优势与应用场景2.1 技术优势2.2 应用场景 三、开发指南3.1 环境搭建3.2 集成AI模型3.3 分布式任务调度 四、实际案例分析4.1 智能家居控制4.2 智能健康监测 五、未来展望《AI智能化办公&#…

【愚公系列】《Python网络爬虫从入门到精通》033-DataFrame的数据排序

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

9、HTTP/2与HTTP/1.1的区别?【高频】

二进制协议&#xff1a; HTTP/2 不再像 HTTP/1.1 里的纯文本形式的报文&#xff0c;而是全面采用了二进制格式&#xff0c;报文头部和数据体都是二进制&#xff0c;并且统称为帧&#xff08;frame&#xff09;&#xff1a;头信息帧&#xff08;Headers Frame&#xff09;和数据…

BigDecimal 为什么可以不丢失精度?

本文已收录至Java面试网站&#xff1a;https://topjavaer.cn 大家好&#xff0c;今天咱们来聊聊 Java 中的 BigDecimal。在金融领域&#xff0c;数据的精确性相当重要&#xff0c;一个小数点的误差可能就意味着几百万甚至几千万的损失。而 BigDecimal 就是专门用来解决这种高精…