OSG编译安装

 

一、资料准备

1.OSG源码下载地址

稳定版本

2.数据包下载地址

数据资源

3.第三方库下载地址

Dependencies

第三方库文件需要和vs版本对应

4.CMAKE下载地址

Download | CMake

最好选择.msi文件下载,可以直接安装,cmake高版本容易出现问题,我用的是3.8.0版本

5.vs需要安装MFC组件

6.已编译文件

如果不想自己编译,可以在这里下载已编译过的文件

链接:https://pan.baidu.com/s/101IXFgvKQhQOEbfLa-ztZg

提取码:osgb

然后根据这篇文章安装https://blog.csdn.net/qq_42232522/article/details/119250550?utm_source=app&app_version=5.3.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

 

二、编译准备

在D盘创建一个osg文件夹

D:\osg\OpenSceneGraph存放osg源码,文件夹下再建一个build文件

D:\osg\3rdParty存放第三方库

D:\osg\Data存放数据资源

三、安装源码

1.安装cmake,打开cmake

2.填写源码路径和结果路径

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg6KiA55qE6aOOMDE=,size_20,color_FFFFFF,t_70,g_se,x_16

3.点击Configure,选择virtual studio对应版本,注意操作系统32还是64位,点击finish

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg6KiA55qE6aOOMDE=,size_15,color_FFFFFF,t_70,g_se,x_16

4.在红色区域找到

ACTUAL_3RDPARTY-DIR将值设为D:\OSG\3rdParty,注意大小写

9658aca624624a34a77e27b6d87fb0e2.png

BUILD_OSG_EXAMPLES打勾

767b2535cbfb4d5b8653abac1676627d.png CMAKE_INSTALL_PREFIX设为第一步中结果路径即D:\OSG\OpenSceneGraph\buildd04ed2c3413d49e7b134a803ae81d6f6.png

 点击Configure,此时红色区域减少,将 BUILD_MFC_EXAMPLES打勾2dd5ee357ae4432783c4789591c250cd.png

 再次点击Configure,此时红色区域消失,点击Generate,构建完成后,在结果路径中会生成OpenSceneGraph.sln文件。

四、编译

1.打开Examples osgviewerMFC里面的stdafx.h文件,将WINVER和_WIN32_WINNt的值改成0x0A00。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg6KiA55qE6aOOMDE=,size_13,color_FFFFFF,t_70,g_se,x_16

 2.管理员权限打开vs,用vs打开OpenSceneGraph.sln文件,选择生成->批生成,选择ALL_BUILD的Debug和Release两个版本生成,这一步需要很长时间,3-5个小时,生成过程中会有警告,不用管

3.继续批生成,选择INSTALL的Debug和Release版本生成,这一步很快。

五、设置环境变量

1.添加系统变量OSG_FILE_PATH,变量值为数据包地址即D:\OSG\Data

2.在Path中添加结果目录中的bin目录即D:\OSG\OpenSceneGraph\build\bin

3.在命令行中输入osgversion或osgviewer cow.osg进行测试。

六、添加依赖项

1.使用vs新建C++控制台程序,在项目->属性->VC++目录,在包含目录添加结果路径中的include目录即D:\OSG\OpenSceneGraph\build\include和D:\OSG\OpenSceneGraph\include,在库目录添加结果目录中的lib目录,即D:\OSG\OpenSceneGraph\build\lib.

2.点击链接器,选择输入,在附加依赖项添加

OpenThreadsd.lib
osgAnimationd.lib
osgd.lib
osgDBd.lib
osgFXd.lib
osgGAd.lib
osgManipulatord.lib
osgParticled.lib
osgPresentationd.lib
osgShadowd.lib
osgSimd.lib
osgTerraind.lib
osgTextd.lib
osgUId.lib
osgUtild.lib
osgViewerd.lib
osgVolumed.lib
osgWidgetd.lib
3.在cpp文件中输入代码

#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main( int argc, char **argv )
{
   osgViewer::Viewer viewer;
   viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) );
   return viewer.run();
}
运行,成功运行证明编译完成,如果gl.h报错,需要在gl.h文件里面加入#include<Windows.h>watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg6KiA55qE6aOOMDE=,size_11,color_FFFFFF,t_70,g_se,x_16​​​​​​​

 

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值