win10 + vs2017 + cmake3.17编译OSG-3.4.1

1. 下载文件

主要用到4个文件

  • 1)OSG-3.4.1源码
  • 2)OSG第三方依赖库
  • 3)OSG示例数据
  • 4)cmake-3.17

我已经准备好了,大家可以自行下载。下载路径:

  • 链接:https://pan.baidu.com/s/1E3YESh0T9KPlJJe2EDmIvA 
  • 提取码:gvbk

2. 文件夹整理

为了方便编译,在硬盘下建立一个OSG文件夹,然后分别建立如下5个文件夹:

  • 1)OSG-3.4.1: 用于存放解压后的 osg-3.4.1.zip 文件
  • 2)3rdParty:   用于存放解压后的 3rdParty_VS2017_v141_x64_V11_full.7z 文件
  • 3)Data:        用于存放解压后的 OpenSceneGraph-Data-3.4.0.zip
  • 4)build:       用于存放编译的过程文件
  • 5)install:      用于存放安装文件

3. 配置cmake

打开cmake-gui,将OSG-3.4.1中的CMakeLists.txt文件直接拖放到CMake界面

3.1 修改build路径

“Where to build the binaries”设置为上面设置的build文件夹路径

3.2 修改install路径

将“CMAKE_INSTALL_PREFIX ”的值设置为上面设置的install文件夹路径

3.3 修改ACTUAL_3RDPARTY_DIR值

修改 ACTUAL_3RDPARTY_DIR 的值为前面配置好的3rdParty的目录路径。

3.4 取消勾选BUILD_OSG_EXAMPLE

如果勾选了这个选项,vs2017会默认“ALL_BUILD”并“INSTALL”这些例子。但是CMakeLists.txt中没有配置INSTALL来安装这些example的指令,因此会在install过程中失败。如果想build相关的example,可以等Install过程完成之后,再重新配置,专门build相关的example.

3.5 删除所有的nvtt配置信息

上面几个内容的value值全部清空。他们是用于配置nvtt插件的。我在安装时,总会在nvtt插件这里报错。考虑到nvtt插件的必要性并不大,这里建议直接不安装这个插件。 

4. cmake编译

依次执行Configure(直至所有cmake配置项变成白色)-->Generate-->Open Project,用VS2017打开项目。

5. VS2017编译

先生成ALL_BUILD,然后生成INSTALL

6. 安装成功测试

6.1)将Data路径添加为环境变量

添加系统环境变量 OSG_FILE_PATH,值为前面的Data的目录(osg\Data):

6.2)把bin目录添加到环境变量

需要把以下三个路径添加到系统环境变量path中

  • F:\3rd_party\osg\3rdParty\bin(这里面有些dll依赖项没有被拷贝到osg/install的文件夹中,为了避免osg的exe程序报错,所以把该路径添加到环境变量中。也可以把该路径下的dll文件全部拷贝到osg/install/bin中)
  • F:\3rd_party\osg\install\bin
  • F:\3rd_party\osg\install\share\OpenSceneGraph\bin

6.3)(重启后)打开cmd进行测试

测试1:cmd中输入osgversion

        该测试调用生成的 install/bin/osgversion.exe,返回OSG的版本。因为前面已经将install/bin/添加为系统变量了,所以这里可以直接输入osgversion进行测试。

测试2:cmd中输入osglogo

        该命令调用了 osg\install\share\OpenSceneGraph\bin\osglogo.exe,显示osg的logo图片。因为前面已经将osg\install\share\OpenSceneGraph\bin添加为系统变量了,所以这里可以直接输入osglogo进行测试。

测试3:cmd中输入 osgviewer cow.osg

        该命令调用了 osg/install/bin/osgviewer.exe, 去打开osg/Data/cow.osg。因为osg/install/binosg/Data都已经添加为系统变量,所以这里可以省略全局路径。

参考博客:

【OSG】OSG环境部署 OSG3.6.5+vs2017+win10_x64(超详细)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/217518.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android--Jetpack--Navigation详解

须知少日拏云志,曾许人间第一流 一,定义 Navigation 翻译成中文就是导航的意思。它是谷歌推出的Jetpack的一员,其目的主要就是来管理页面的切换和导航。 Activity 嵌套多个 Fragment 的 UI 架构模式已经非常普遍,但是对 Fragmen…

机器人制作开源方案 | 智能助老机器人

作者:刘颖、王浩宇、党玉娟 单位:北京科技大学 指导老师:刘新洋、栗琳 1. 项目背景 1.1 行业背景 随着越来越多的服务机器人进入家庭,应用场景呈现多元化和专业化,机器人产业生态体系正在不断完善,服务…

【MySQL】MySQL库的增删查改

文章目录 1.库的操作1.1创建数据库1.2创建数据库案例 2.字符集和校验规则2.1查看系统默认字符集以及校验规则2.2查看数据库支持的字符集2.3查看数据库支持的字符集校验规则2.4校验规则对数据库的影响 3.操纵数据库3.1查看数据库3.2显示创建语句3.3修改数据库3.4数据库删除3.5备…

2023年医疗器械行业分析(京东医疗器械运营数据分析):10月销额增长53%

随着我国整体实力的增强、国民生活水平的提高、人口老龄化、医疗保障体系不断完善等因素的驱动,我国的医疗器械市场增长迅速。 根据鲸参谋电商数据分析平台的相关数据显示,今年10月份,京东平台上医疗器械市场的销量将近1200万,环比…

1+X大数据平台运维职业技能等级证书中级

该部分是选择题部分,实操题在主页的另一篇文章 考试名称:“1X”大数据平台运维职业技能等级证书(中级) 1X 大数据平台运维中级测试题一、单选题 以下哪种情况容易引发 HDFS 负载不均问题?( C&#xff09…

windows禁用系统更新

1.在winr运行框中输入services.msc,打开windows服务窗口。 services.msc 2.在服务窗口中,我们找到Windows update选项,如下图所示: 3.双击windows update服务,我们把启动类型改为禁用,如下图所示&#xff…

AI浪潮下,大模型如何在音视频领域运用与实践?

视频云大模型算法「方法论」。 刘国栋|演讲者 在AI技术发展如火如荼的当下,大模型的运用与实践在各行各业以千姿百态的形式展开。音视频技术在多场景、多行业的应用中,对于智能化和效果性能的体验优化有较为极致的要求。如何运用好人工智能提…

STM32--中断使用(超详细!)

写在前面:前面的学习中,我们接触了STM32的第一个外设GPIO,这也是最常用的一个外设;而除了GPIO外,中断也是一个十分重要且常用的外设;只有掌握了中断,再处理程序时才能掌握好解决实际问题的逻辑思…

Arris VAP2500 list_mac_address未授权RCE漏洞复现

0x01 产品简介 Arris VAP2500是美国Arris集团公司的一款无线接入器产品。 0x02 漏洞概述 Arris VAP2500 list_mac_address接口处命令执行漏洞,未授权的攻击者可通过该漏洞在服务器端任意执行代码,写入后门,获取服务器权限,进而控制整个web服务器。 0x03 复现环境 FOFA…

ZLMediaKit 编译以及测试(Centos 7.9 环境)

文章目录 一、前言二、编译器1、获取代码2、编译器2.1 编译器版本要求2.2 安装编译器 3、安装cmake4、依赖库4.1 依赖库列表4.2 安装依赖库4.2.1 安装libssl-dev和libsdl-dev4.2.2 安装 ffmpeg-devel依赖和ffmpeg依赖 三、构建和编译项目(启用WebRTC功能&#xff09…

计算机网络:物理层(奈氏准则和香农定理,含例题)

带你速通计算机网络期末 文章目录 一、码元和带宽 1、什么是码元 2、数字通信系统数据传输速率的两种表示方法 2.1、码元传输速率 2.2、信息传输速率 3、例题 3.1、例题1 3.2、例题2 4、带宽 二、奈氏准则(奈奎斯特定理) 1、奈氏准则简介 2、…

Docker安全性:最佳实践和常见安全考虑

Docker 的快速发展和广泛应用使其成为现代应用开发的热门选择,然而,容器环境的安全性也受到关注。本文将深入研究 Docker 安全性的最佳实践,包括容器镜像安全、容器运行时安全、网络安全等方面,并提供丰富的示例代码,帮…

Flink 流处理流程 API详解

流处理API的衍变 Storm:TopologyBuilder构建图的工具,然后往图中添加节点,指定节点与节点之间的有向边是什么。构建完成后就可以将这个图提交到远程的集群或者本地的集群运行。 Flink:不同之处是面向数据本身的,会把D…

ES6学习(三):Set和Map容器的使用

Set容器 set的结构类似于数组,但是成员是唯一且不会重复的。 创建的时候需要使用new Set([])的方法 创建Set格式数据 let set1 new Set([])console.log(set1, set1)let set2 new Set([1, 2, 3, 4, 5])console.log(set2, set2) 对比看看Set中唯一 let set3 new Set([1, 1,…

【网络安全】网络防护之旅 - 对称密码加密算法的实现

🌈个人主页:Sarapines Programmer🔥 系列专栏:《网络安全之道 | 数字征程》⏰墨香寄清辞:千里传信如电光,密码奥妙似仙方。 挑战黑暗剑拔弩张,网络战场誓守长。 目录 😈1. 初识网络安…

微信小程序 全局共享数据 mobx

前言 全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。开发中常用的全局数据共享方案有:Vuex、Redux、MobX 等。 一. 安装 npm install --save mobx-miniprogram4.13.2 mobx-miniprogram-bindings2.1.5 安装完…

STM32在CTF中的应用和快速解题

题目给的是bin文件,基本上就是需要我们手动修复的固件逆向。 如果给的是hex文件,我们可能需要使用MKD进行动态调试 主要还是以做题为目的 详细的可以去看文档:https://pdf1.alldatasheet.com/datasheet-pdf/view/201596/STMICROELECTRONIC…

【超图】SuperMap iClient3D for WebGL/WebGPU —— 单体gltf模型与Blender中的方向对应关系

作者:taco 在很多包含动画的场景中,像模拟小人的行走、模拟火车的轨迹运行,又或者是模拟风力发电等等等。我们通常会加一些动画模型到里面。而有的时候可能会出现,这火车怎么倒着走啊!这人怎么头朝下啊。这种方向的问题…

50种css常用的代码(实用)

目录 1、文字超出部分显示省略号 2、中英文自动换行 3、文字阴影 4、设置placeholder的字体样式 5、不固定高宽 div 垂直居中的方法 6、设置滚动条样式 7、实现隐藏滚动条同时又可以滚动 8、创建渐变背景 9、悬停效果(Hover) 10、改变链接的样…

SOLIDWORKS PDM—邮件信息系统

SOLIDWORKS产品数据管理 (PDM) 解决方案可帮助您控制设计数据,并且从本质上改进您的团队就产品开发进行管理和协作的方式。使用 SOLIDWORKS PDM Professional,您的团队能够:1. 安全地存储和索引设计数据以实现快速检索;2. 打消关于…