osg、osgearth源码编译(二)
如果比较懒,也可以不看这篇文章,网上应该有很多编译好的库。也可以找我要。
本人还是建议学会编译,因为其他人电脑上编译好的,可能在你的电脑环境上,出现这样那样奇怪的问题,所以,最好还是自己能够编译,学习源码也好、定位问题也好,都会方便很多。
1.需要下载第三方依赖
下载地址:https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/download-section/dependencies.html
打开,网站如下图所示:

在此说明一下,我没有下载,我直接用的之前的,因为打不开下载页面。
2.下载官方数据文件(非必须)
下载地址:https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/download-section/data.html
打开,网站如下图所示:

添加系统环境变量 OSG_FILE_PATH ,我的是D:\Project\OSG\OpenSceneGraph-Data
3.下载编译osg源码
3.1 下载地址
https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/download-section/stable-releases.html
打开,网站如下图所示:

3.2 打开cmake
打开CMake软件后将OSG源码下的CMakeLists.txt拖拽到CMake中,新建并选择OSG的工程构建路径,勾选Grouped和Advanced后点击Configure按钮进行工程构建,选择VS2015 64位;
3.3 三方库路径
配置ACTUAL_3RDPARTY_DIR为三方库路径;
3.4 打包安装路径
配置CMAKE_INSTALL_PREFIX为工程库打包安装路径;
3.5 Configure
点击Configure按钮,若出现找不到某三方库,请检查OSG依赖的第三方库是否配置(QT、CURL、FREETYPE、GDAL、JPEG、PNG、TIFF、ZLIB),尤其注意PNG库的路径设置;
3.6 Generate
所有依赖的三方库都配置好后,点击Configure按钮,然后再点击Generate,成功后可以点击Open Project直接打开工程进行编译,编译完成后进行INSTALL,工程编译完成后,进行安装,会自动将编译好的库拷贝到之前设置的INSTALL_PREFIX安装目录下;
3.7 配置环境变量
osg编译完并安装成功后将osg安装文件夹的bin路径添加到环境变量PATH中。

4.下载编译osgearth源码
4.1 下载地址
https://codeload.github.com/gwaldron/osgearth/zip/osgearth-2.10
或者https://github.com/gwaldron/osgearth/tags
4.2 剩下步骤说明
剩下2-7步骤与编译osg类似。
管他过时不过时,学了总是有用的!想好了再干是不错,但,有时候,只有干了才有发言权!
上个周末身体状态欠佳,所以没有更新!
相关文章:
osg、osgearth源码编译(二)
如果比较懒,也可以不看这篇文章,网上应该有很多编译好的库。也可以找我要。 本人还是建议学会编译,因为其他人电脑上编译好的,可能在你的电脑环境上,出现这样那样奇怪的问题,所以,最好还是自己能…...
从单一设备到万物互联:鸿蒙生态崛起的未来之路
目录 一、引言:开启智能时代的钥匙 二、鸿蒙生态概述:跨设备协同的核心价值 三、开发者机遇与挑战:抓住鸿蒙崛起的机会 四、鸿蒙生态崛起的前景:万物互联的未来 五、开发者在鸿蒙生态中的实践机遇与挑战 1. 跨设备开发的机遇…...
Kotlin的object修饰符定义类似Java的静态类/静态方法
Kotlin的object修饰符定义类似Java的静态类/静态方法 //类似Java的static类 object StaticCls {//类似Java静态变量private var num 0//类似Java的静态方法fun updateVal(n: Int) {num n}fun getVal(): Int {return num} }class MyTest() {fun setVal() {StaticCls.updateVal…...
html 中的 <code>标签
定义和用途 <code> 标签是HTML中的一个内联元素,用于定义计算机代码片段。当你需要在网页内容中展示代码,比如编程语言代码(如JavaScript、Python、Java等)、命令行指令、标记语言代码(如HTML、XML等)…...
【Oracle11g SQL详解】GROUP BY 和 HAVING 子句:分组与过滤
GROUP BY 和 HAVING 子句:分组与过滤 在 Oracle 11g 中,GROUP BY 子句用于根据一个或多个列对查询结果进行分组,而 HAVING 子句用于对分组后的结果进行过滤。这两者常结合聚合函数使用,用以实现复杂的数据统计和分析。本文将系统…...
SSE基础配置与使用
什么是 Server-Sent Events (SSE) **Server-Sent Events (SSE) **是一种轻量的服务器向客户端推送消息的机制,基于 HTTP 协议实现单向通信,适用于需要实时更新的场景。 与 WebSocket 不同,SSE 只允许服务器向客户端发送数据,因此…...
Android -- 简易音乐播放器
Android – 简易音乐播放器 播放器功能:* 1. 播放模式:单曲、列表循环、列表随机;* 2. 后台播放(单例模式);* 3. 多位置同步状态回调;处理模块:* 1. 提取文件信息:音频文…...
【开源免费】基于Vue和SpringBoot的技术交流分享平台(附论文)
博主说明:本文项目编号 T 053 ,文末自助获取源码 \color{red}{T053,文末自助获取源码} T053,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...
Python异步编程新写法:asyncio模块的最新实践
Python异步编程新写法:asyncio模块的最新实践 引言1. 异步编程基础2. 旧写法的问题3. 最新的写法4. 代码解析5. 最佳实践6. 总结7. 参考资料 引言 在现代编程中,异步编程已经成为提高程序性能和响应能力的重要手段。Python的asyncio模块为开发者提供了一…...
【Docker】Docker配置远程访问
配置Docker的远程访问,你需要按照以下步骤进行操作: 1. 在Docker宿主机上配置Docker守护进程监听TCP端口 Docker守护进程默认只监听UNIX套接字,要实现远程访问,需要修改配置以监听TCP端口。 方法一:修改Docker服务…...
网络安全入门之网络安全工具分享-含初期所有工具(附百度网盘链接)
网络安全基础工具 抓包工具 burpsuite 这是一款十分经典的抓包改包工具,在全球范围内使用十分广泛,并且其内置各种插件,具有爆破,自动识别验证码,加解密发包等多种功能 专业版破解网盘链接: 通过百度网…...
玩转 uni-app 静态资源 static 目录的条件编译
一. 前言 老生常谈,了解 uni-app 的开发都知道,uni-app 可以同时支持编译到多个平台,如小程序、H5、移动端 App 等。它的多端编译能力是 uni-app 的一大特点,让开发者可以使用同一套代码基于 Vue.js 的语法编写程序,然…...
Docker 容器隔离关键技术:Seccomp
Docker 容器隔离关键技术:Seccomp 在 Docker 容器中,Seccomp(Secure Computing Mode) 是一种内核安全机制,用来限制容器内的程序可以调用哪些系统调用(Syscalls)。通过列清单的方式,…...
【大模型】深度解析 NLP 模型5大评估指标及 应用案例:从 BLEU、ROUGE、PPL 到METEOR、BERTScore
在自然语言处理(NLP)领域,无论是机器翻译、文本生成,还是问答系统开发,模型性能评估指标始终是开发者绕不开的工具。BLEU、ROUGE、PPL(困惑度)、METEOR 和 BERTScore 是五个最具代表性的指标&am…...
LinuxC高级
gdb调试工具 gdb调试的作用 gdb用于调试代码中逻辑错误,而非语法错误 gdb调试流程 生成可以使用gdb调试的执行文件 gcc -g xxx.c ---> 生成的文件可以使用gdb调试 进入gdb工具 gdb 可执行文件 ---> 使用gdb工具开始调试可执行文件 r/run:运行代码 …...
实现PDF文档加密,访问需要密码
01. 背景 今天下午老板神秘兮兮的来问我,能不能做个文档加密功能,就是那种用户下载打开需要密码才能打开的那种效果。boss都发话了,那必须可以。 需求:将pdf文档经过加密处理,客户下载pdf文档,打开文档需要…...
LangChain——加载知识库文本文档 PDF文档
文档加载 这涵盖了如何加载目录中的所有文档。 在底层,默认情况下使用 UnstructedLoader。需要安装依赖 pip install unstructuredpython导入方式 from langchain_community.document_loaders import DirectoryLoader我们可以使用 glob 参数来控制加载特定类型文…...
深度学习2:从零开始掌握PyTorch:数据操作不再是难题
文章目录 一、导读二、张量的定义与基本操作三、广播机制四、索引与切片五、内存管理六、与其他Python对象的转换本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容,不涉及任何偏颇观点,…...
MyBatis的if标签的基本使用
在MyBatis框架中,if标签用于在构建SQL语句时,根据参数条件判断的结果,动态地选择加入或不加where条件中。 一 常见使用 在使用MyBatis处理查询逻辑的时候,常用的是判断一些参数是否为空,列举常用的几种情况展示 1.1…...
【Azure Cache for Redis】Redis的导出页面无法配置Storage SAS时通过az cli来完成
问题描述 在Azure Redis的导出页面,突然不能配置Storage Account的SAS作为授权方式。 image.png 那么是否可以通过AZ CLI或者是Powershell来实现SAS的配置呢? 问题解答 可以的。使用 az redis export 可以实现 az redis export --container --prefix[--a…...
OpenClaw技能组合:Qwen3.5-9B串联多个插件完成复杂数据分析
OpenClaw技能组合:Qwen3.5-9B串联多个插件完成复杂数据分析 1. 当数据分析遇上自动化:我的真实需求场景 上个月我需要定期分析某电商平台的竞品价格数据,传统做法是手动导出CSV→Excel处理→制作图表→写分析报告。重复三周后我意识到&…...
毕设代码二手房数据实战:从爬取到可视化的一站式工程实现
最近在帮学弟学妹看计算机专业的毕业设计,发现“二手房数据分析”真是个热门选题。想法都挺好,但一到动手实现,很多人就卡在了数据上:要么网站反爬太严数据抓不下来,要么抓下来的数据乱七八糟没法用,好不容…...
SpringBoot 仓储信息管理系统设计:基于效率提升的毕业设计实战
在准备毕业设计时,很多同学会选择开发一个仓储信息管理系统。这个选题很经典,因为它能综合运用数据库、Web开发、业务逻辑等多种知识。但我也发现,很多同学做出来的系统,功能虽然齐全,却常常忽略了“效率”这个关键点。…...
2D-循环卷积与2D-DFT关系
2D transforms doubly circulant block matrices and 2D circular convolution 图像技术经常处理2D信号,其经常通过2D卷积来处理各种类型的线性滤波。通信中的Delay-Doppler信道便是一个时变的2D高速移动信道,很适合处理2D信号。2D信号可以通过一个MNM\t…...
phpIPAM vs Netbox深度对比:开源IP管理工具选型指南(附GCP云环境部署实录)
phpIPAM vs Netbox深度对比:开源IP管理工具选型指南(附GCP云环境部署实录) 在数字化转型浪潮中,企业网络基础设施的复杂度呈指数级增长。IP地址作为网络通信的基础要素,其管理效率直接影响运维团队的工作效能。传统Exc…...
光伏系统中的最大功率跟踪:滑模控制与传统方法的巧妙结合
光伏发电系统,滑膜控制结合扰动观察法和电导增量法,可更快实现 最大功率跟踪。在光伏发电系统的领域里,最大功率跟踪(MPPT)技术一直是提升发电效率的关键所在。传统的扰动观察法和电导增量法在MPPT方面各有优劣&#x…...
嵌入式开发问题复现与调试技巧
嵌入式开发常见问题及解决方法1. 问题复现方法稳定复现问题是解决嵌入式系统故障的首要步骤。根据问题特性,可采用以下三种复现方法:1.1 模拟复现条件对于依赖特定外部条件的问题,最直接的复现方式是精确还原问题发生时的环境参数。工程实践中…...
Web前端开发毕业设计项目实战:从零搭建一个高可用、可扩展的TodoList应用
很多同学在做前端毕业设计时,常常感觉无从下手,要么功能太简单显得单薄,要么技术选型混乱,代码写得像“一锅粥”,答辩时被老师问得哑口无言。今天,我们就来一起动手,从零搭建一个结构清晰、技术…...
Step3-VL-10B-Base与卷积神经网络结合:图像理解性能提升
Step3-VL-10B-Base与卷积神经网络结合:图像理解性能提升 在图像识别任务中,传统卷积神经网络(CNN)虽然擅长提取局部特征,但在处理复杂语义理解、多模态上下文推理等任务时往往表现有限。而视觉-语言大模型(…...
Fish Speech 1.5企业培训场景:员工手册/安全规范自动语音化部署
Fish Speech 1.5企业培训场景:员工手册/安全规范自动语音化部署 1. 企业培训的语音化需求 在现代企业培训中,员工手册和安全规范的学习往往面临一个普遍问题:文字材料枯燥乏味,员工阅读积极性不高。传统的纸质手册或电子文档需要…...
