OSG编译安装-MSVC

本文详细介绍了如何在Windows 10环境下,利用CMake和Microsoft Visual Studio 2017编译安装OpenSceneGraph库,包括下载所需软件和库,配置Cmake,设置编译选项,以及在Visual Studio中进行编译和安装。此外,还涉及了环境变量的设置,测试安装以及在Qt项目中使用OpenSceneGraph的步骤。
摘要由CSDN通过智能技术生成

OSG编译安装-MSVC

1、准备工作

1.1 环境

  • Windows10

  • Qt5.14.2

  • Microsoft Visual Studio2017

  • cmake-3.20.4-windows-x86_64.msi

1.2 osg下载

  • osg官网

  • github

  • OSG源码(OpenSceneGraph)

    • 下载网址

    • 也可使用git下载:

      git clone --branch OpenSceneGraph-3.6.5 https://github.com/openscenegraph/OpenSceneGraph.git

  • 依赖库(3rdParty)

    • 下载地址

    • 这里选择已经编译好的VisualStudio 2017版本库

  • 数据资源(OpenSceneGraph-Data)

    • 下载地址

    • 这里选择最新版OpenSceneGraph-Data-3.4.0.zip

2、Cmake编译

  • 打开Cmake,将OpenSceneGraph文件夹下的CMakeLists.txt文件拖进Cmake中,创建build文件夹并在Cmake中指定路径;

  • 点击configure,选择vs2017、x64(由于下载的依赖库为64位,所以这里如果要编译32位的只能自己编译依赖库),注意如果是安装了多个版本vs,需要选择Specify native compilers,我这里只安装了一个版本;

  • 指定依赖库路径ACTUAL_3RDPARTY_DIR

  • 勾选BUILD_OSG_EXAMPLES(可选择不勾选)

  • 修改安装路径CMAKE_INSTALL_PREFIX

  • 点击configure直到没有红色,然后点击Generate,等待生成VS解决方案,生成完成后点击Open Project打开VS

3、Visual Studio编译

  • 打开解决方案后,选择Debug、x64

  • 右键ALL_BUILD,点击生成,等待两小时就可以编译完成,然后选择Release再编译一次

  • 右键INSTALL,点击生成就可以在之前指定的安装路径下(CMAKE_INSTALL_PREFIX)生成编译好的文件了

  • 将依赖库和数据资源文件拷到编译后的文件路径处

4、添加环境变量

  • 打开系统环境变量

  • 添加如下环境变量,注意路径换成自己的,然后保存,重启电脑使环境变量生效

5、测试安装

  • 可测试命令

    • osgversion

    • osglogo

    • osgviewer

  • 打开cmd

  • 输入:osgversion

  • 输入:osglogo

  • 输入:osgviewer D:\OSG\OpenSceneGraph-Data\cow.osg

6、Qt程序

  • 新建一个Qt工程,选择编译器位MSVC2017-x64(需要配置)

  • 打开.pro文件,添加下列代码(路径换成自己的)

INCLUDEPATH += D:/OSG/install/include
DEPENDPATH += D:/OSG/install/include
​
win32:CONFIG(release, debug|release): LIBS += -LD:/OSG/install/lib/ -losg
else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OSG/install/lib/ -losgd
​
win32:CONFIG(release, debug|release): LIBS += -LD:/OSG/install/lib/ -losgViewer
else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OSG/install/lib/ -losgViewerd
​
win32:CONFIG(release, debug|release): LIBS += -LD:/OSG/install/lib/ -losgDB
else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OSG/install/lib/ -losgDBd

  • 或者右键工程,选择添加库

  • 选择需要添加的库,然后点击确认即可

  • 添加下列代码

#include "widget.h"
​
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
​
int main(int argc, char *argv[])
{
​
    QString osgPath = "D:/OSG/OpenSceneGraph-Data/avatar.osg";  // 换成自己的路径
​
    osgViewer::Viewer viewer;                                   // 创建查看器
    osg::Node * node = new osg::Node;
    node = osgDB::readNodeFile(osgPath.toStdString());          // 读取模型文件,赋值给节点指针
    viewer.setSceneData(node);                                  // 查看器中添加该节点
    return viewer.run();                                        // 运行查看器
}

  • 编译运行结果如下

7、编译好的库

链接:https://pan.baidu.com/s/1UfNbJ0fUAzKfe3XrWNVTDA
提取码:66tf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值