Win10-VS2017 OSG环境搭建

一、资料准备

1、OSG源码下载地址(OpenSceneGraph-3.6.5 release 稳定版本)。

2、OSG第三方依赖库下载地址(3rdParty_VS2017_v141_x64_V11_full)。
注:第三方库版本必须与Visual Studio版本相对应,本文所用只适用于Visual Studio2017 x64,平台工具集版本为v141的情况下。

3、数据包下载地址(OpenSceneGraph-3.4 standard dataset)(我并没有找到3.6.5的数据包,事实证明3.4.0也可以用)

4、编码工具下载地址 (我用的是CMake 3.17.0版本)。

二、编译准备

为了编译的顺利进行,将下载的文件组织如下:
在D盘建立一个OSG-3.6.5的文件夹,然后其他文件如下放置:

3rdParty_VS2017_v141_x64_V11_full.7z  解压到  3rdParty

OpenSceneGraph-Data-3.4.0.zip  解压到  OpenSceneGraph-Data

OpenSceneGraph-OpenSceneGraph-3.6.5.zip  解压到  OpenSceneGraph

另外新建OpenSceneGraph-Build存放编译后的文件

三、安装源码

1、安装CMake之后,打开CMake -gui.exe。
2、按下图所示,填写源码路径与编译目标路径。

3、点击Configure,如下图所示进行设置,然后点击Finish。

4、在红色表格中找到ACTUAL_3RDPARTY_DIR,将其值设置为D:\OSG-3.6.5\3rdParty、找到BUILD_OSG_EXAMPLES,值设置为ON、CMAKE_INSTALL_PREFIX,值为第一步中的目标路径。
5、点击Generate,自此建构完成。


四、编译


1、在第三步的结果路径中,找到OpenSceneGraph.sln,将其用VS2017打开。
选择生成、批生成,,对All_BUILD进行生成,选择(Debug和Release两个版本),这段编译时间很长,大概 4-5个小时。如果前面步骤没有错误的话,这一步不会报错,只有警告。设置详情如下图所示:

2、第1步完成后,再对INSTALL也进行相应生成编译。这段时间相应会短一点。如图:

五、环境变量


以上步骤进行完成后,对系统变量作如下设置:
1、添加系统变量:OSG_FILE_PATH,变量值为D:\OSG-3.6.5\OpenSceneGraph-Data
2、在PATH变量中添加:D:\OSG-3.6.5\OpenSceneGraph-Build\bin;D:\OSG-3.6.5\3rdParty\bin
配置完成后,进行测试osgversion,osglogo,osgviewer cow.osg。 

重点来了:如果这三个命令,哪个不好使,你就全盘搜相应的exe,比如osglogo.exe,看看在哪个路径,环境变量的路径里有木有。一定要加上!!(我就是一直因为这个问题报错,后来我把下边两个都加了就好了)

六、新建OSG项目测试


1、在VS2017下新建C++控制台程序。
2、右键项目,选择“属性”,顶部平台选择x64,左侧配置属性选择“VC++目录”,在包含目录添加:编译目标目录中的include目录。在库目录添加:编译目标目录中的lib目录。具体情况如下图:

3、打开项目属性的链接器,选择“输入”,在附加依赖项添加:
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib
注:在编译生成的lib文件中,每个lib文件有一对名称相似的文件,其中文件名最后一个字母为“d”的为Debug版本所使用的,没有“d”的为Release版本所使用的。
4、在自己的cpp文件中输入以下代码:

#include "pch.h"
#include<Windows.h>
#include<osgViewer/Viewer>
#include<osgDB/ReadFile>

int main(int argc, char **argv)
{
    osgViewer::Viewer viewer;
    viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
    return viewer.run();
}

运行,出现一头牛,说明配置成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值