OSG+VS2015 测试Demo

 转载:https://blog.csdn.net/weixin_42536346/article/details/82889794

一、新建Win32控制台项目

 选择空项目

二、设置VS的目录配置

方法一:

  工具->选项->项目解决方案->VC++目录,分别设置OSG的头文件及库文件

包含文件里添加:G:...OSGProjectOSGinclude

库文件添加:G:...OSGProjectOSGlib

 方法二:

   方法一有个问题是我们把引用的目录和lib设置成绝对路径了,这样如果你的测试demo发到别人电脑,别人电脑上OSG的目录和工程里设置的目录不一样,工程就会找这个目录而报错,我觉得OSG设置成环境变量最好,这样比人用你的Demo时只要按着你的环境变量设置就行了。

我们在系统环境变量中添加新变量OSG_SDK

然后这样设置包含目录和引用库

 

 

 链接器–>输入–>附加依赖项,添加.lib文件的依赖项如下:

OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib

注:这里编译的是debug版本,所以编译的库都有的命名为*d.lib,如果是release版本,后面没有d。

最后上代码:

#include <windows.h>
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>

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

大功告成!!!

注:

1.CMD下运行osgviewer cow.osg,提示命令osgviewer不存在。

 解决:正确环境变量配置;查看bin目录下是否有osgviewer.exe文件和osgviewerd.exe,若只有d结尾的debug版。的osgviewerd.exe文件,则说明缺少了release版,重新生成OSG库文件,记得勾选release版本。

2.测试工程生成解决方案时遇到无法读取xxx.lib文件的问题。
解决:可能是VS工程属性目录配置出错,或生成OSG库文件是生成失败,缺少了对应文件,对应解决。

3.测试工程生成解决方案时报出LNK2019:无法解析的外部符号。
解决:工程用了x86模式编译,而OSG的库文件是x64的,用x64模式编译即可。

4.测试工程生成解决方案时报出无法识别GL.h文件里字符的问题。
解决:给工程添加#include<windows.h>头文件即可,具体问题不详。

原文地址:https://www.cnblogs.com/chechen/p/13562390.html