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地址代…...
化疗对女性的杀伤力
化疗人群普遍存在体质虚弱、免疫力下降、食欲差、体力透支、肠胃不适等问题,白之品海参凭借其天然温和的营养特点,能在多个方面提供针对性支持:温和滋补,不刺激肠胃海参性平温和,不燥热、不寒凉,对化疗后敏…...
基于TMS320F28033的20MHz手持式双踪袖珍示波器设计与实现
一、系统概述 设计实现了一款手持式、双通道、20MHz带宽的数字存储示波器,以TI TMS320F28033 DSP为核心控制器,结合FPGA与高速ADC,构建了集信号调理、高速采集、数据处理与显示于一体的便携式测量仪器。系统采用程控增益放大、DC/AC耦合电子切…...
Gerbv:免费开源Gerber文件查看器的终极指南,PCB设计验证的得力助手
Gerbv:免费开源Gerber文件查看器的终极指南,PCB设计验证的得力助手 【免费下载链接】gerbv Maintained fork of gerbv, carrying mostly bugfixes 项目地址: https://gitcode.com/gh_mirrors/ge/gerbv 你是否曾经为PCB设计文件的查看而烦恼&#…...
Buck电路PCB布局优化与EMI控制技巧
1. Buck电路PCB布局的重要性在开关电源设计中,PCB布局的好坏直接决定了电源的稳定性、效率和EMI性能。以Buck电路为例,不合理的布局可能导致输出电压纹波增大、转换效率降低、甚至引发系统振荡等问题。我从事电源设计多年,见过太多因为PCB布局…...
用快马平台实践vibe coding:5分钟构建你的音乐可视化应用原型
最近在探索一种叫"vibe coding"的编程方式,简单来说就是跟着感觉走,先抓住创意灵感再考虑具体实现。正好发现InsCode(快马)平台特别适合这种创作方式,今天就带大家用5分钟做个音乐可视化应用,完全不需要从零开始写代码。…...
SOONet模型AI编程助手实践:根据代码注释自动定位相关教学视频片段
SOONet模型AI编程助手实践:根据代码注释自动定位相关教学视频片段 1. 引言 你有没有过这样的经历?在IDE里写代码,遇到一个不太熟悉的函数或者算法,比如“快速排序”,你停下来想查查资料。通常的做法是,要…...
OpenClaw自动化测试:Qwen3.5-9B持续集成实践
OpenClaw自动化测试:Qwen3.5-9B持续集成实践 1. 为什么选择OpenClaw做自动化测试 去年我在迭代一个NLP模型时,每次代码提交后都需要手动跑测试用例、截图对比结果、再发邮件给团队——这套流程每周要重复十几次。直到发现OpenClaw这个"能操作电脑…...
《数字图像处理》实战:从傅里叶到小波,解锁图像变换的时空密码
1. 图像变换的时空密码:从傅里叶到小波 当你用手机拍摄一张照片时,是否想过这张看似简单的图片背后隐藏着怎样的数学奥秘?图像处理领域的变换技术就像是一把钥匙,能够解开图像中隐藏的时空密码。在众多变换方法中,傅里…...
避坑指南:UE5 VaRest插件处理JSON数组和嵌套对象的几个常见错误
UE5 VaRest插件处理JSON数组和嵌套对象的避坑指南 在UE5开发中,VaRest插件因其便捷的HTTP请求和JSON处理能力而广受欢迎。然而,当面对复杂的JSON数据结构时,许多开发者会遇到各种"坑"。本文将深入剖析VaRest在处理JSON数组和嵌套对…...
Loop:5分钟打造优雅Mac窗口管理,告别鼠标拖拽的烦恼
Loop:5分钟打造优雅Mac窗口管理,告别鼠标拖拽的烦恼 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否也经历过这样的场景:正在专注写代码,却要频繁拖…...
