WIN10 64位 OSG3.4+Qt5.3+VS2013 编译及使用dae插件、dxf插件

2023-10-30

OSG经过一段时间的发展,相比以前的开发来说,在编译安装上的步骤已经简单许多,但依旧存在许多的坑;本文简单阐述了在64位win10系统上,使用VS2013编译工具结合Qt5.3库,编译安装了带dae、3ds等3D显示插件的3.4版本的OpenSceneGraph(OSG)。


前期准备工具:

1、安装好Cmake ,本文所使用的版本为3.8-rc1的exe安装版;

2、去OSG官网下载3个源代码文件:OpenSceneGraph-3.4 源码(SourceCode)、适用于OSG3.4版本的测试数据库(Data) 和 编译安装所需要的第三方支持库3rdParty(64位全版本);要注意的是,第三方支持库要与所使用的编译器相对应;

OpenSceneGraph-3.4:

https://github.com/openscenegraph/OpenSceneGraph/tree/OpenSceneGraph-3.4.0

OpenSceneGraph-3.4-Data:

http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.4.0/data/OpenSceneGraph-Data-3.4.0.zip

3rdParty(x64_full):

https://download.osgvisual.org/3rdParty_VS2013.5_v120_x64_V10_full.7z

3、确保电脑上已经正确安装64位的VS2013和适用64位MSVC2013带Opengl的编译器的Qt5.3


CMake配置过程:

1、建立用于存放编译源码、编译工程和编译结果的目录结构,本文所使用的目录结构如下:

其中OSG_directroy 可以自行定义其上层位置;

3rdParty_x64_full用于存放第三方支持库解压出来的内容(注意:该目录下应直接含有bin、include等文件,不应再多设置一层目录);

build_340_MSVC2013用于存放通过Cmake生成的VS2013工程文件,以及后续ALL_BUILD编译后生成的各类文件;

OSG340_MSVC13用于存放编译安装后的3.4版本的OSG;

2、配置CMake,生成OpenSceneGraph解决方案:

选择源文件存放的位置 和 CMake生成的解决方案存放位置

点击Configure,选择与64位VS2013对应的生成器,点击Finish;

接下来出现了一大堆红色条目,以下讲解及展示重要的配置项:

ACTUAL_3RDPARTY_DIR:第三方库的根目录;

BUILD_OSG_EXAMPLE:编译osg的参考例子;

BUILD_OPENTHEREAD_WITH_QT:使用VS2013进行开发就不要勾选,容易引起ot20-openthread.dll的错误;详见参考资料[1].

CMADE_INSTALL_PREFIX:osg编译安装后的存放目录;

以下展示与Qt配置相关的条目:

如果使用Qt5.3以上的版本,有可能找不到Qt5WebKitWidget_DIR和Qt5WebKit_DIR的目录;

以下讲解和展示与COLLADA相关的配置项:

在配置了COLLADA_DOM_ROOT为正确的位置之后,就可以再点击一次Configure,CMake能够在一定程度上配置好有关条目;本文的正确配置如下:

以下为能够自动配置的有关项,倘若没有,可能需要自行手动配置:

需要注意的是NVTT有关的库是重要的与编译nvtt插件相关的库;

不能自动配置的库包括:与COLLADA动态库和静态库、COLLADA的BOOST库、COLLADA的domany路径,它们都能够在第三库的目录下找到:

COLLADA动态库和静态库配置成一样的就可以,也可以只配置静态库;

再点击一次Configure,如果同时配置COLLADA动态库和静态库,那么还会再出现一个选项,勾选与不勾选结果都是一样的:

最后再点击一次Configure,没有红色条目出现,就可以点击Generate了,本阶段结束。


解决方案的检查及编译:

在完成CMake的配置并Generate解决方案之后,就可以用VS2013打开解决OpenSceneGraph解决方案进行编译了。打开方法要么是直接在CMake中操作,要么是进入文件夹,不再赘述。

在使用批生产指令进行ALL_BUILD之前需要检查Plugin nvtt 工程的属性配置,需要确保工程的输入依赖项里有如下7个lib:

nvcore.lib nvmath.lib nvimage.lib nvthread.lib bc7.lib bc6h.lib squish.lib

如果是Debug版本就选对应Debug版本的lib;

在确保以上7个lib都添加到Plugin nvtt工程之后,应该就不会发生nvtt插件编译失败的问题了。

最后就可以开始ALL_BUILD 和 INSTALL 的Release版本和Debug版本的编译,静待成功。


环境变量配置:

在编译成功之后,应该就获得了带有dae等各种3D插件的OSG库。

注意:为了确保各个插件的运行环境,需要将3rdParty_x64_full/bin目录下的所有可执行二进制文件拷贝一份放到生成的osg文件夹下的bin目录内。即:OSG340_MSVC13/bin。

最后就可以将OSG340_MSVC13文件夹下的文件转移到希望放置的目录位置,并将测试数据包OpenSceneGraph-3.4-Data解压到同一目录位置,并添加好环境变量;

本文将OSG340_MSVC13文件夹下的文件转移到了OSG340_X64文件夹下,所以本文的环境变量配置如下:

除此之外,还需要在系统的Path环境变量下添加OSG_BIN_PATH变量,以确保控制台程序能够找到想要的bin路径。

至此OSG3.4编译安装完毕,可以进入程序测试阶段。


测试结果:

想要直接在控制台测试dae、3ds文件的打开可以自行去下载3D文件,也可以在下方的链接中下载文件,然后将3D模型文件放到Data目录下;


便宜下载:

测试模型:

https://download.csdn.net/download/kroc_kroc/10596662

编译好的带dae、3ds插件的OSG程序:

https://download.csdn.net/download/kroc_kroc/10596652


参考资料:

[1].http://forum.openscenegraph.org/viewtopic.php?t=15010&view=next

[2].http://forum.openscenegraph.org/viewtopic.php?t=15884

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WIN10 64位 OSG3.4+Qt5.3+VS2013 编译及使用dae插件、dxf插件 的相关文章

  • SQL Server 如何清空数据库所有表数据

    1 清空SQL Server数据库中所有表数据 1 编写存储过程脚本 CREATE PROCEDURE sp DeleteAllData AS EXEC sp MSForEachTable ALTER TABLE NOCHECK CONST
  • 杂项设备(misc device)

    杂项设备 misc device 杂项设备也是嵌入式系统中用得比较多的一种设备驱动 在 Linux 内核的include linux目录下有miscdevice h文件 要把自己定义的misc device从设备定义在这里 其实是因为这些字
  • PAT C入门题目-7-103 查找书籍 (20 分)(struct的应用)

    7 103 查找书籍 20 分 给定n本书的名称和定价 本题要求编写程序 查找并输出其中定价最高和最低的书的名称和定价 输入格式 输入第一行给出正整数n lt 10 随后给出n本书的信息 每本书在一行中给出书名 即长度不超过30的字符串 随
  • 从内核文件系统看文件读写过程

    阅读目录 系统调用 虚拟文件系统 I O 缓冲区 Page Cache Address Space 文件读写基本流程 回到顶部 系统调用 操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境 但是计算机系统的各种硬件资源是有
  • 计算二叉树的深度和结点个数

    计算二叉树的深度和结点个数以及叶子结点的个数 二叉树的深度呢指的是二叉树中最大的结点层数 这个很好理解的 而二叉树的结点包含一个数据元素及两个指向子树的分支 叶子结点呢就是树底下没有一个分支的结点 include
  • 彻底解决安装包过程中的Requirement already satisfied:问题

    问题如图 安装库总是提示大量类似Requirement already satisfied paddle in f anapython lib site packages 1 0 2 的信息 对此问题 需要指定安装目录 格式 pip ins
  • oracle 存储过程的基本语法 及注意事项

    oracle 存储过程的基本语法 1 基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 参数1 IN NUMBER 参数2 IN NUMBER IS 变量1 INTEGER 0 变量2 DATE BEGIN E
  • 大学生必备的网址

    飞达简历网http www jianlishop com 精美的简历设计网站 大量XXXXX资源 无忧简历网http www 51jianli com 收费简历设计网站 我的简历http www wdjl net XXXXX提供电子简历 视
  • Weex加载数据缓冲旋转动画的实现

    Weex Ui已经上线了加载动画了点击这里跳转 手写的我眼泪都掉了下来 由于Weex手机端不支持gif图片 然而公司项目又要我加个加载动画 所以手写了一个动画加载组件 注意1 需要用到组件不会用组件的可以点击看看这篇文章 Weex Vue组
  • 操作系统考研复习——第四章(文件管理)

    操作系统考研复习 第四章 文件管理 4 文件管理 4 1 文件管理基础 4 1 1 文件的概念 1 数据项 记录和文件 2 文件属性 3 文件系统的接口 4 文件的基本操作 5 文件的打开与关闭 4 1 2 文件的逻辑结构 1 无结构文件
  • Java中的‘\’

    概述 斜杠 就士普通的字符 反斜杠 则在java中和不同的字符会组成不同的转义字符 斜杠 在Java中没有特别的意义 就代表一个 字符 反斜杠 则不然 它和紧跟它的字符构成转义字符 如 n 代表换行 例如 要写一个字符串 String s
  • Linux下搭建Hadoop环境---JDK安装

    这里安装JDK8 安装JDK8的方式有多中 在windows下下载压缩包 通过xftp上传到linux服务器 去官网下载Java Downloads Oracle 完了以后使用Xftp上传到linux服务器指定目录下 使用wget在本地下载
  • ES(Elasticsearch)中文检索使用笔记(一)

    1 什么是Elasticsearch 根据官网介绍 https www elastic co cn elasticsearch Elasticsearch 以下简称为ES 主要是一种基于JSON的分布式 高扩展 高实时的搜索与数据分析引擎
  • Qt之页面布局

    QTlayout概述 Qt的布局管理系统提供了强大的机制来自动排列窗口中的所有部件 确保它们有效地使用空间 Qt包含了一组布局管理类 从而在应用程序的用户界面中对部件进行布局 比如QLayout的几个子类 这里将它们称作布局管理器 所有QW
  • 基于SSM+JSP的学生信息管理系统

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用JSP技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Mave
  • 34-鼠标拖拽文件功能

    鼠标拖拽文件功能 直接拖动部分文件或者文件夹到tkinter窗口 实现快速添加文件功能 需要安装windnd库 demo如下 import tkinter as tk import windnd from tkinter messagebo
  • 数据库中系统数据库服务器,sql中什么是系统数据库服务器

    sql中什么是系统数据库服务器 内容精选 换一换 数据复制服务 Data Replication Service 简称DRS 是一种易用 稳定 高效 用于数据库实时迁移和数据库实时同步的云服务 数据复制服务围绕云数据库 降低了数据库之间数据
  • 【C语言】一篇博客带你弄懂最大公约数和最小公倍数

    目录 前言 什么是最大公约数和最小公倍数 最大公约数与最小公倍数的公式 求最大公约数方法 方法一 暴力穷举法 方法二 辗转相除法 方法三 更相减损术 求最小公倍数的方法 方法一 公式法 方法二 暴力穷举法 方法三 叠乘法 最后总结 前言 我

随机推荐

  • go语言基础-----23-----文件解析器goconfig

    1 文件解析器goconfig go的ini配置文件非常简单 看下面代码即可 运行之前需要go get go get github com Unknwon goconfig package main import fmt log githu
  • 基于Unittest框架写的自动化脚本右键运行出现 run “py.test for ...“的解决办法

    一 看图 python脚本都是 unittest 写的 但是 运行的时候没注意是 py test 就运行了 二 网上找了解决办法 说是要修改默认运行方式 进入 File Settings Tools Python Integrated To
  • Git:更改远程仓库指向(五)

    修改已有git仓库的远程仓库指向 git remote set url origin 仓库地址 git remote set url origin git github com test thinkphp git Tips 小程序云开发 中
  • SpringBoot项目部署

    Springboot项目部署有两种方式 分别为 打包为jar war jar包和war包到部署服务器的区别和优缺点 1 部署war包 1 将war包解压 将里面的内容放到服务器项目的目录下 2 重启服务器 启动tomcat的时间会有些长 约
  • QNX系统BSP开发研发与应用,QNX技术解答-项目开发-软件开发

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 目前总结了一些
  • [LeetCode-27]-Remove Element (删除指定元素)

    文章目录 题目相关 Solution 题目相关 题目解读 使用In place 原地算法 从数组中删除指定值的所有元素 并返回删除后的数组长度 原题描述 原题链接 Given an array nums and a value val re
  • python函数式编程——迭代器(2)

    文章目录 前言 一 迭代器 前言 python学习笔记 仅供学习使用 一 迭代器 迭代是访问集合元素的 种 式 迭代器是 个可以记住遍历的位置的对象 迭代器对象从集合的第 个元素开始 访问 直到所有的元素被访问完结束 迭代器只能往前不会后退
  • java 静态变量 静态代码初始化块 构造函数的顺序

    静态变量或静态代码块 先后与代码书写顺序有关 初始化代码块或普通变量 顺序与代码书写顺序有关 构造函数 几大原则 一 静态成员变量 Static 1 静态成员变量为类变量 所有对象共享同一内存空间 2 静态成员变量的声明和定义仅在首次加载类
  • 视频无损放大软件:Topaz Video Enhance AI Mac版(支持m1)

    Topaz Video Enhance AI for Mac是一款专业的AI视频无损放大软件 topaz video enhance ai mac版使用时间信息有效提高视频质量和细节 从而达到最好的视频放大 去隔行 降噪和还原效果 另外to
  • gitlab目录功能结构

    默认安装的gitlab 主要有四个目录 opt gitlab 主目录 etc gitlab 放置配置文件 var opt gitlab 各个组件 var log gitlab 放置日志文件 功能操作 检查gitlab各组件状态 gitlab
  • 浅议代码安全检测

    2017年6月1日 中华人民共和国网络安全法 正式实施 等级保护工作正式入法 等级保护制度已成为新时期国家网络安全的基本国策和基本制度 2019年12月1日 网络安全等级保护条例 正式实施 等保2 0是从 信息安全等级保护制度 到 网络安全
  • 卸载vs2010亲测的一个方法

    最近想把vs2010卸载掉 把方法记录下 供需要的人参考 采用的方法是vs自带的卸载的方法 步骤如下 1 打开 控制面板 点击 卸载程序 在弹出的窗口里面找到vs2010的主程序 如图 2 双击打开后 或是右键弹出 卸载 更改 菜单 进入维
  • windows10环境下用anaconda和VScode配置

    文件下载 最新的Anaconda3 5 1 0 Windows x 64 exe版本中在安装的时候已经打包好了vscode 就是在anaconda3安装完成之后 会提示你是否要安装vscode 然后勾选就可以完成vscode的安装 Anac
  • vue实现消息提示框

    我们常常看到很多vue生态下的ui框架的消息提示框 在页面切换的时候依然停留在页面 我们知道vue这种单页面渐进式框架 所有的操作和元素都是挂载在一个节点上的 当路由变化是整个节点下的dom元素也在重新渲染 若要实现ui框架中的类似的消息提
  • 常用损失函数小结

    一 摘要 本文主要总结一下常见的损失函数 包括 MSE均方误差损失函数 SVM合页损失函数 Cross Entropy交叉熵损失函数 目标检测中常用的Smooth L1损失函数 其中还会涉及到梯度消失 梯度爆炸等问题 ESM均方误差 Sig
  • 【2017-07-04】Qt信号与槽深入理解之一:信号与槽的连接方式

    今天是个好日子 嗯 信号槽机制是Qt的特色功能之一 类似于windows中的消息机制 在不同的类对象间传递消息时我们经常使用信号槽机制 然而很多时候都没有去关注connect 函数到底有几种重载的形式 其中的各项参数都是什么 如果总是浮于表
  • Python opencv局部直方图均衡增强

    opencv直方图均衡包含两种 一种是对全图进行直方图均衡 另一种是对局部进行直方图均衡 也称为自适应直方图均衡 直方图均衡是让图像的像素分布更加均匀 一般可以使图片更亮 解决偏色问题 增加局部细节等 1 全局直方图均衡 全局直方图均衡的函
  • SpringBoot 中 Json 格式化配置

    SpringBoot 针对 jackson 是自动化配置的 如果需要修改 也可以自定义配置 0x01 通过 application yml 配置属性说明 spring jackson date format 指定日期格式 比如 yyyy M
  • 窗口函数之ntile()函数讲解

    ntile NTILE n 用于将分组数据按照顺序切分成n片 返回当前切片值 将一个有序的数据集划分为多个桶 bucket 并为每行分配一个适当的桶数 切片值 第几个切片 第几个分区等概念 它可用于将数据划分为相等的小切片 为每一行分配该小
  • WIN10 64位 OSG3.4+Qt5.3+VS2013 编译及使用dae插件、dxf插件

    OSG经过一段时间的发展 相比以前的开发来说 在编译安装上的步骤已经简单许多 但依旧存在许多的坑 本文简单阐述了在64位win10系统上 使用VS2013编译工具结合Qt5 3库 编译安装了带dae 3ds等3D显示插件的3 4版本的Ope