经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C++ » 查看文章
OSG编译安装-MSVC
来源:cnblogs  作者:mahuifa  时间:2021/6/28 9:42:01  对本文有异议

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

  • 打开系统环境变量

 

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

 

5、测试安装

  • 可测试命令

    • osgversion

    • osglogo

    • osgviewer

  • 打开cmd

  • 输入:osgversion

  • 输入:osglogo

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

 

6、Qt程序

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

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

  1. INCLUDEPATH += D:/OSG/install/include
  2. DEPENDPATH += D:/OSG/install/include
  3. ?
  4. win32:CONFIG(release, debug|release): LIBS += -LD:/OSG/install/lib/ -losg
  5. else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OSG/install/lib/ -losgd
  6. ?
  7. win32:CONFIG(release, debug|release): LIBS += -LD:/OSG/install/lib/ -losgViewer
  8. else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OSG/install/lib/ -losgViewerd
  9. ?
  10. win32:CONFIG(release, debug|release): LIBS += -LD:/OSG/install/lib/ -losgDB
  11. else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OSG/install/lib/ -losgDBd

 

 

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

 

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

 

  • 添加下列代码

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

 


  1. ?
  • 编译运行结果如下

 

 

7、编译好的库

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

原文链接:http://www.cnblogs.com/IntelligencePointer/p/14942511.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号