OSG3.6.5+VS2019:免编译,在VS2019中新建OSG项目运行OSG

OSG3.6.5+VS2019:免编译运行OSG

在学习过程中,需要用到OSG。但OSG的编译十分麻烦且容易遇到各种各样的问题。这里给出一个不需要进行编译,直接就可以运行OSG的方法。

首先,需要感谢osgChina站长文集,这里有已经编译好的各种版本的OSG库,对应不同的OSG版本和VS版本。

声明:本文中的所有下载资源来源于osgChina站长文集

1、下载OSG、第三方依赖库和Data。

可以从osgChina站长文集提供的编译服务下载对应不同VS版本的OSG版本。

如果打算使用VS2019进行运行或者不知道具体要下载哪些资源,可以直接下载我的网盘资料,提取码为hzdz。包含以下三个压缩包,全部下载。
在这里插入图片描述
下载完成后直接进行解压,推荐解压在同一个文件夹中。这里,我在D盘新建了一个OSG文件夹,将所有内容解压在该文件夹中(没选中的3个不用管)。
在这里插入图片描述
其中,osg365install是已经编译好的OSG,3rdpartyinstall是第三方依赖库,OpenSceneGraph-Data是用到的数据。

2、配置环境变量

在环境变量的用户变量的Path中,添加OSG和第三方依赖库的路径,如下图所示。
在这里插入图片描述
在这里插入图片描述
新建环境变量OSG_FILE_PATH为Data的路径,如下图所示。
在这里插入图片描述

3、用cmd运行OSG,检查OSG是否可运行

打开cmd命令提示符,输入osgversion,看是否会输出版本号,若输出则配置正确。
在这里插入图片描述
继续输入osgviewer cow.osg,看是否会显示牛的模型。
在这里插入图片描述
在这里插入图片描述
如果上述两步都正确的,则OSG配置完成。若牛的模型无法找到则可能是OSG_FILE_PATH没有设置正确。

4、在VS2019中新建OSG项目运行OSG

(1)在VS2019下新建C++工程,选择x64。
在这里插入图片描述
(2)右键项目属性,选择“VC++目录”,在包含目录添加OSG的include目录;在库目录中添加OSG的lib目录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)打开项目属性的链接器,选择“输入”,在附加依赖项添加:
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
在这里插入图片描述
在这里插入图片描述
(4)输入以下代码进行测试

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

int main(i)
{
    
    
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
return viewer.run();
}

如果可以正确显示牛的模型,则成功。

5、可能遇到的问题和解决方法

如果步骤4中编译时出现许多关于GL.h的错误,可以在GL.h中添加 #include <Windows.h>解决。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42232522/article/details/119250550