OSG3.6.5 + VS2017前期准备及编译
OSG3.6.5 + VS2017前期准备及编译
1、前期准备
1.1、osg稳定版本源码
Stable releases (openscenegraph.com)
1.2、osg依赖项
Dependencies (openscenegraph.com)
1.3、osg测试及演示数据
Data Resources (openscenegraph.com)
1.4、安装doxygen和Graphviz(用于生成html文档)
Doxygen: Downloads
Download | Graphviz
请为安装好的Doxygen和Graphviz配置环境变量,以便后续CMAKE找到
1.5、安装HTML-Help
Download Microsoft HTML Help Workshop (HTML Help or CHM compiler, HHC.EXE) (helpandmanual.com)
1.6、安装CMake-GUI
Download | CMake
一切下载和安装就绪,我们准备一个空文件夹放置下载的OSG源码、依赖库以及测试数据

2、编译
2.1、编译前准备(创建编译目录以及安装目录)
在OpenSceneGraph-OpenSceneGraph-3.6.5目录下,我们创建两个目录build(用于存放编译的目录)和install(用作安装路径)。
2.2、编译及配置
打开CMake-GUI -> 选择OSG3.6.5源码目录和编译目录

点击<Configure>按钮,会弹出下面的对话框,我们选择自己的VS版本以及平台(x64),Finish就好了。

勾选<Grouped>和<Advanced>复选框,会发现首次有许多红色(不要担心)

修改并检查下面几个选项再次<Configure>
-
修改Ungrouped Entries -> ACTUAL_3RDPARTY_DIR 选择依赖库地址(一直到目录下为bin等文件夹为止)

-
勾选BUILD -> BUILD_DOCUMENTATION(生成文档)和BUILD-> BUILD_OSG_EXAMPLES(生成OSG的示例)
-
修改CMAKE -> CMAKE_INSTALL_PREFIX为我们指定的安装目录
-
检查和修改OSG -> OSG_GL_CONTEXT_VERSION为2.1(我这里自测只有2.1可以正常运行osgviewer和示例代码中的程序)

-
勾选WIN32-> WIN32_USB_MP使VS可以多线程编译(编译过程快很多)
执行<Configure>再次确认下面几点
-
DOXYGEN 下面的DOT和DOXYGEN可执行文件是否配置和正确;如果不正确不会生成html文档的。
-
DOCUMENTATION -> DOCUMENTATION_HTML_HELP和DOCUMENTATION_HTML_TARZ都勾选上,否则不会生成chm文档。
再次执行<Configure> -> <Generate> -> <Open Project>

使用ALL_BUILD生成便可,若需要安装生成INSTALL即可。
3、测试
执行osganalysis.exe E:\software\OpenSceneGraph-Data\spaceship.osgt

相关文章:
OSG3.6.5 + VS2017前期准备及编译
OSG3.6.5 VS2017前期准备及编译 1、前期准备 1.1、osg稳定版本源码 Stable releases (openscenegraph.com) 1.2、osg依赖项 Dependencies (openscenegraph.com) 1.3、osg测试及演示数据 Data Resources (openscenegraph.com) 1.4、安装doxygen和Graphviz(用…...
IPv6 over IPv4隧道配置举例
配置IPv6 over IPv4手动隧道示例 组网需求 如图1所示,两台IPv6主机分别通过SwitchA和SwitchC与IPv4骨干网络连接,客户希望两台IPv6主机能通过IPv4骨干网互通。 图1 配置IPv6 over IPv4手动隧道组网图 配置思路 配置IPv6 over IPv4手动隧道的思路如下&…...
【GitOps系列】使用 ArgoCD 快速打造GitOps工作流
文章目录 ArgoCD简介ArgoCD安装访问ArgoCDGitOps 工作流总览创建 ArgoCD 应用检查 ArgoCD 同步状态访问应用 连接 GitOps 工作流体验 GitOps 工作流生产建议1)修改默认密码2)配置 Ingress 和 TLS3)使用 Webhook 触发 ArgoCD4)将源…...
C#|无法打开cs文件设计窗口
报错信息:To prevent possible data loss before loading the designer, the following errors must be resolved: 解决方案:实不相瞒我把项目解决方案名称改短了就可以了。。有其他原因或者解决方案望不吝赐教。。...
【SpringBoot笔记36】SpringBoot自定义WebSocketHandler集成WebSocket
这篇文章,主要介绍SpringBoot自定义WebSocketHandler集成WebSocket。 目录 一、SpringBoot集成WebSocket 1.1、添加WebSocket依赖 1.2、自定义WebSocketHandler 1.3、注册WebSocket服务端...
flutter 图片相关
官方链接:https://api.flutter.dev/flutter/widgets/Image-class.html 图片基本使用 显示本地图片时,要在pubspec.yaml文件里面添加如:(注意空格) assets: - assets/images/logo.png Fit属性: BoxFit.cover最常用 显示可能拉伸,可能裁…...
将上位机程序从PC的window系统迁移至Intel NUC的无桌面版ubuntu系统问题记录
将上位机程序从PC的window系统迁移至Intel NUC的无桌面版ubuntu系统 问题一 网口失效 问题描述:NUC关机状态下,将网口与路由器连接,网络指示灯闪烁;NUC开机后,网络指示灯熄灭,使用ping命令,既…...
CHI中的error处理
Error Handling Error types 包含两种sub-packet级别的error, 和两种packe级别的error; Packet level error Data Error, DERR □ 访问的地址是正确的,但是访问的数据有错误;通常是在数据崩溃的时候使用,例如ECC…...
如何使用 PHP 进行数据库缓存处理?
当你想要让你的PHP应用程序更快时,数据库缓存是一个重要的工具。它可以帮助你避免频繁地查询数据库,提高应用程序的响应速度。不过,在进行数据库缓存处理时,需要注意一些细节,否则可能会得到相反的结果。下面ÿ…...
新版巨量广告投放技巧分析
新版广告系统,计划出价40,转化成本特别低只有21,同时消耗也比较慢 为什么刚开始成本都比较低,跑着跑着成本就高了,像这种情况一般如何操作? 一: 为什么会出现成本和出价差这么多 1: 系统对账…...
Vue3 导出excel
🙂博主:锅盖哒 🙂文章核心:导出excel 目录 首先,你需要安装xlsx库。可以使用npm或yarn来安装: 在Vue组件中,你可以使用xlsx库来生成Excel文件并提供一个导出按钮供用户下载。 在Vue 3中&…...
vue 使用vue-json-viewer 展示 JSON 格式的数据
npm install vue-json-viewer --save<el-button type"primary" click"previewClick">预览</el-button><el-dialog title"预览" :visible.sync"previewVisible" width"70%"><viewer ref"viewer&qu…...
14.python设计模式【模板方法模式】
内容:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法某特定步骤。 角色: 抽象类(AbstractClass):定义抽象的原子操作(钩子…...
谷粒商城第六天-实现功能的前序工作(网关的配置 跨域配置)
目录 一、为什么要做这项工作 1.1 为什么要配置网关 1.2 为什么要使用网关统一配置跨域 二、网关配置 三、统一跨域配置 四、总结 一、为什么要做这项工作 1.1 为什么要配置网关 我们知道网关的作用其实主要就是进行路由的,也就是根据前端发送到网关的请求&…...
为什么说国内数字孪生平台gis架构采用Cesium是不错的选择?
Gis作为数字孪生平台开发中重要的一环对数字孪生平台是否好用是一个重要的判定方式,国内数字孪生软件在融合GIS系统方面采取了多种方式,例如Unity或Unreal Engine等游戏引擎,以增强数字孪生的空间感知和空间分析能力,提供更全面、…...
前端面试的性能优化部分(1)每篇10题
1. 懒加载的概念 懒加载(Lazy Loading)是一种优化技术,它用于延迟加载页面资源,只在需要时才加载特定的内容,而不是在页面初始加载时一次性加载所有资源。懒加载的目的是提高页面加载速度和性能,尤其对于单…...
GitLab备份升级
数据备份(默认的备份目录在/var/opt/gitlab/backups/下,生成一个以时间节点命名的tar包。) gitlab-rake gitlab:backup:create新建repo源,升级新版本的gitlab vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] namegitlab-ce baseurlhttps://mirrors.…...
Matlab实现遗传算法仿真(附上40个仿真源码)
遗传算法(Genetic Algorithm,GA)是一种基于生物进化理论的优化算法,通过模拟自然界中的遗传过程,来寻找最优解。 在遗传算法中,每个解被称为个体,每个个体由一组基因表示,每个基因是…...
git使用(由浅到深)
目录流程图 1. 分布式版本控制与集中式版本控制 1.1 集中式版本控制 集中式版本控制系统有:CVS和SVN它们的主要特点是单一的集中管理的服务器,保存所有文件的修订版本;协同开发人员通过客户端连接到这台服务器,取出最新的文件或者提交更新…...
NAT协议(网络地址转换协议)详解
NAT协议(网络地址转换协议)详解 为什么需要NATNAT的实现方式静态NAT动态NATNAPT NAT技术的优缺点优点缺点 NAT协议是将IP数据报头中的IP地址转换为另外一个IP地址的过程,主要用于实现私有网络访问公有网络的功能。这种通过使用少量的IP地址代…...
安规标准考核题库-1(IEC 62477-1:2012+AMD1:2022 )
本题库严格对标 IEC 62477-1:2012《电力电子变换器系统和设备安全要求 第 1 部分:总则》AMD1:2022 修订版,贴合储能双向 PCS 的设计、测试、认证全流程场景,分为判断题、单选题、多选题三类,所有题目均附标准条款依据与详细解答。…...
ViGEmBus虚拟游戏控制器驱动:Windows游戏手柄模拟终极指南
ViGEmBus虚拟游戏控制器驱动:Windows游戏手柄模拟终极指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是Windows系统内核级别的虚拟…...
构建高效Cursor Pro功能解锁的模块化架构实现指南
构建高效Cursor Pro功能解锁的模块化架构实现指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial request limi…...
智能提取与效率工具:B站视频转文字全流程自动化解决方案
智能提取与效率工具:B站视频转文字全流程自动化解决方案 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 在信息爆炸的时代,视频已成为…...
AI 学习笔记:LLM 的部署与测试
关于 LLM 的本地部署 正如我之前在《[[关于 AI 的学习路线图]]》一文中所提到的,从学习的角度来说,如果我们要想切实了解 LLM 在计算机软件系统中所处的位置,以及它在生产环境中所扮演的角色,最直接的方式就是尝试将其部署到我们…...
Netty-learning-example数据持久化实战:JPA+MySQL与MyBatis+MongoDB对比
Netty-learning-example数据持久化实战:JPAMySQL与MyBatisMongoDB对比 【免费下载链接】netty-learning-example :egg: Netty实践学习案例,见微知著!带着你的心,跟着教程。我相信你行欧。 项目地址: https://gitcode.com/gh_mir…...
解决数字阅读焦虑:用fanqienovel-downloader构建个人离线图书馆的创新方法
解决数字阅读焦虑:用fanqienovel-downloader构建个人离线图书馆的创新方法 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 在数字阅读日益普及的今天,你是否曾遭遇过…...
3步攻克Linux应用管理痛点:面向开发者的AppImageLauncher优化方案
3步攻克Linux应用管理痛点:面向开发者的AppImageLauncher优化方案 【免费下载链接】AppImageLauncher Helper application for Linux distributions serving as a kind of "entry point" for running and integrating AppImages 项目地址: https://gitc…...
【限时开源】我们刚在GitHub归档的Python MCP生产模板——含自动证书轮换、配置热重载、灰度指令通道(仅开放72小时)
第一章:Python MCP服务器开发模板概览与核心设计哲学Python MCP(Model-Controller-Protocol)服务器开发模板是一个面向协议驱动、可插拔架构的轻量级服务框架,专为构建高内聚、低耦合的远程控制与设备交互服务而设计。它并非传统W…...
7个硬核级调校技巧:Citra模拟器全方位优化指南
7个硬核级调校技巧:Citra模拟器全方位优化指南 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/gh_mirrors/cit/citra Citra作为开源的任天堂3DS模拟器,凭借其跨平台特性和持续优化,已成为玩家在PC上体…...
