WIN10系统下OSG+VS2017或者2019环境搭建

**

WIN10系统下OSG+VS2017环境搭建
**
一、资料准备
1、OSG源码下载地址:http://www.openscenegraph.org/index.php/download-section/stable-releases(OpenSceneGraph-3.4.1 release 稳定版本)。

2、OSG第三方依赖库下载地址:http://www.openscenegraph.org/index.php/download-section/dependencies(3rdParty_VS2017_v141_x64_V11)  vs2019也适用。
注:第三方库版本必须与Visual Studio版本相对应,本文所用只适用于Visual Studio2017 以上版本,,平台工具集版本为v141的情况下。

3、数据包下载地址:http://www.openscenegraph.org/index.php/download-section/data(OpenSceneGraph-3.4 standard dataset)。

4、编码工具下载地址:https://cmake.org/download/ (我用的是CMake 3.9.3版本)。

二、编译准备
为了编译的顺利进行,将下载的文件组织如下:
在D盘建立一个OSG的文件夹,然后其他文件如下放置:
D:\OSG\OpenSceneGraph:源码解压后放于此
D:\OSG\3rdParty:第三方依赖库解压后放于此
D:\OSG\data:数据包解压后放于此。

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

WIN10系统下OSG+VS2017或者2019环境搭建

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

WIN10系统下OSG+VS2017或者2019环境搭建

4、在红色表格中找到ACTUAL_3RDPARTY_DIR,将其值设置为D:/OSG/3rdParty、找到BUILD_OSG_EXAMPLES,值设置为ON、CMAKE_INSTALL_PREFIX,值为第一步中的结果路径。
5、点击Generate,自此建构完成。
四、编译
1、在第三步的结果路径中,找到OpenSceneGraph.sln,将其用VS2017打开。
选择生成、批生成,,对All_BUILD进行生成,选择(Debug和Release两个版本),这段编译时间很长,大概 4-5个小时。如果前面步骤没有错误的话,这一步不会报错,只有警告。设置详情如下图所示:WIN10系统下OSG+VS2017或者2019环境搭建

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

WIN10系统下OSG+VS2017或者2019环境搭建

 五、环境变量

以上步骤进行完成后,对系统变量作如下设置:
1、添加系统变量:OSG_FILE_PATH,变量值为D:\OSG\data(与第二步中所建目录相对应)。
2、在PATH变量中添加:第三步结果目录中的bin目录。
配置完成后,可在命令行输入osgversion或osglogo进行测试。
六、新建OSG项目测试
1、在VS2017下新建C++控制台程序。
2、右键项目,选择“属性”,顶部平台选择x64,左侧配置属性选择“VC++目录”,在包含目录添加:第三步结果目录中的include目录。在库目录添加:第三步结果目录中的lib目录。具体情况如下图:

WIN10系统下OSG+VS2017或者2019环境搭建

3、打开项目属性的链接器,选择“输入”,在附加依赖项添加:
OpenThreads.lib
osg.lib
osgDB.lib
osgUtil.lib
osgGA.lib
osgViewer.lib
osgText.lib
4、在自己的cpp文件中输入以下代码:

如果编译出现错误,在GL.h中添加 #include <Windows.h>即可:

WIN10系统下OSG+VS2017或者2019环境搭建

 如果运行出现缺少依赖dll,找到第三步的bin目录:

WIN10系统下OSG+VS2017或者2019环境搭建

 复制这些dll到debug目录就行了:

WIN10系统下OSG+VS2017或者2019环境搭建

 测试代码:

WIN10系统下OSG+VS2017或者2019环境搭建

#include<osgViewer/Viewer>
#include<osgDB/ReadFile>

int main(i)
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
return viewer.run();
}//如果出现找不到cow.osg,重启一下电脑试试

相关推荐