zoukankan      html  css  js  c++  java
  • OSG编译安装-MSVC

    OSG编译安装-MSVC

    1、准备工作

    1.1 环境

     

    1.2 osg下载

     

    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、添加环境变量

    • 打开系统环境变量

     

    • 添加如下环境变量,注意路径换成自己的,然后保存

     

    * OpenSceneGraph-Data环境配置:打开系统环境变量,点击新建,输入OpenSceneGraph-Data路径,重启电脑使环境变量生效

    5、测试安装

    • 可测试命令

      • osgversion

      • osglogo

      • osgviewer

    • 打开cmd

    • 输入:osgversion

    • 输入:osglogo

    • 输入:osgviewer D:OSGOpenSceneGraph-Datacow.osg 或osgviewer 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

  • 相关阅读:
    PHP的GD库
    PHP正则表达式
    Redis学习笔记
    C++的vector对象
    Python的with用法理解
    python 类属性与方法
    python lambda表达式
    Python3的decode()与encode()
    PHP的魔法方法__set() __get()
    MySQL的基本知识 -- 函数
  • 原文地址:https://www.cnblogs.com/IntelligencePointer/p/14942511.html
Copyright © 2011-2022 走看看