环境:Vs2010

  OpenSceneGraph-3.0.1-VS10.0.30319-x86-debug-12741

  OpenSceneGraph-3.0.1-VS10.0.30319-x86-release-12741

设置环境变量
PATH:                   D:\osg\bin
OSG_FILE_PATH:   D:\osg\data
这时候你可以用osgViewer查看一下osg文件,比如经典的奶牛cow.osg
在命令行下输入:osgViewerd.exe cow.osg
 
新建一个vc空项目,设置vc++包含目录和库目录。vc2010是右击|属性|项目和解决方案|VC++目录,低版本是工具|选项|项目和解决方案|VC++目录
包含文件:   D:\osg\include
库文件:      D:\osg\lib
右击|属性|配置属性|链接器|输入|附加依赖项
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgViewerd.lib
如果编译Release版本,去掉d
新建main.cpp输入下面的代码,这次显示一个滑翔机。
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
void main()
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("glider.osg"));
viewer.realize();
viewer.run();
}

http://greatverve.cnblogs.com/archive/2012/09/19/osg-hello-world.html

编译出现的问题:d和非d的lib

过程中出现的问题:Microsoft C++ 异常 std::bad_alloc

0x7c812afb 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012f448 处的 std::bad_alloc。

原因:编译Debug版本的时候使用了不带d的Dll。

处理方法:

Demo编译成Debug版本使用带d的dll,编译成Release版本使用不带d的dll。

注意:

1. 编译Debug和Release版本需要分别设置项目属性中的包含目录文件和库目录

2. 分别设置“链接器——输入——附加依赖项”,或者输入如下代码:

 #ifdef _DEBUG
#pragma comment (lib,"OpenThreadsd.lib")
#pragma comment (lib,"osgd.lib")
#pragma comment (lib,"osgDBd.lib")
#pragma comment (lib,"osgFXd.lib")
#pragma comment (lib,"osgGAd.lib")
#pragma comment (lib,"osgManipulatord.lib")
#pragma comment (lib,"osgParticled.lib")
#pragma comment (lib,"osgShadowd.lib")
#pragma comment (lib,"osgSimd.lib")
#pragma comment (lib,"osgTerraind.lib")
#pragma comment (lib,"osgTextd.lib")
#pragma comment (lib,"osgUtild.lib")
#pragma comment (lib,"osgViewerd.lib")
#else
#pragma comment (lib,"OpenThreads.lib")
#pragma comment (lib,"osg.lib")
#pragma comment (lib,"osgDB.lib")
#pragma comment (lib,"osgFX.lib")
#pragma comment (lib,"osgGA.lib")
#pragma comment (lib,"osgManipulator.lib")
#pragma comment (lib,"osgParticle.lib")
#pragma comment (lib,"osgShadow.lib")
#pragma comment (lib,"osgSim.lib")
#pragma comment (lib,"osgTerrain.lib")
#pragma comment (lib,"osgText.lib")
#pragma comment (lib,"osgUtil.lib")
#pragma comment (lib,"osgViewer.lib")
# endif

OSG第一个Demo的更多相关文章

  1. angular开发者吐槽react+redux的复杂:“一个demo证明你的开发效率低下”

    曾经看到一篇文章,写的是jquery开发者吐槽angular的复杂.作为一个angular开发者,我来吐槽一下react+redux的复杂. 例子 为了让大家看得舒服,我用最简单的一个demo来展示r ...

  2. 初识nginx之第一个demo

    商城项目做了一个多月了,想到必须用到负载均衡,简单了解了一下nginx,首先分享第一个demo,五月份上线后,会继续分享一系列相关知识. 在nginx根目录下,用了一个园友的批处理文件nginx.ba ...

  3. springMvc的第一个demo

    1.下载jar包 http://repo.spring.io/libs-release-local/org/springframework/spring/4.2.3.RELEASE/ 2.下载源码 j ...

  4. Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

    在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...

  5. 如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)

    关于duilib的历史,我也就不多说了,能看到这篇文章的人都是有一定了解才能找到这个的. 我直接说下对这个库的基本使用吧. 我个人对一些好技术都是比较感兴趣的. 因为个人原因 喜欢接触一个好技术. 所 ...

  6. 白盒测试之gtest第一个demo

    认识gtest工具后,关于它的使用,下面将用一个demo程序演示一下gtest的用法以及成果展示. 一.需要测试的C++代码: #include "myfunction.h" // ...

  7. 在VS中实现webService的一个demo(图解)

    在VS中实现webService的一个demo(图解) 先创建一个web项目,创建好web项目后,添加新建项——web服务 在新建好的web服务文件中写如下代码: 生成当前解决方案. 新建一个winf ...

  8. Cocos2d-x 学习(1)—— 通过Cocos Studio创建第一个Demo

    近期在工作上有了比較大的转变,自学情绪也慢慢高涨,本来一直在研究unity的技术.由于换了工作会開始接触cocos2d-x.但并不意味着停止研究unity,以后有时间还是会继续的. 公司的cocos2 ...

  9. 使用android的mediaplayer做成 一个demo,欢迎测试使用

    附件是为一个定制视频产品而简单的写了一个demo,用来说明android的mediaplayer是如何使用的. http://files.cnblogs.com/guobaPlayer/palyerD ...

随机推荐

  1. CSS2系列:BFC(块级格式化上下文)IFC(行级格式化上下文)

    BFC 块级格式化上下文,不好理解,我们暂且把她理解成"具有特殊的一类元素" 哪些元素会生成BFC? 根元素 float属性不为none position为absolute或fix ...

  2. Nginx 笔记与总结(10)Nginx 与 PHP 整合

    Apache + PHP 的编译 和 Nginx + PHP 的编译,区别: Apache 一般把 PHP 当作自己的一个模块来启动: Nginx 则是把 HTTP 请求变量(如 get,user_a ...

  3. MySQL 授权远程登录(Ubuntu 环境)

    环境:Ubuntu 13.10 (GNU/Linux 3.11.0-12-generic i686) 在用 Navicat 连接远程数据库时报错: ERROR (HY000): Host *** is ...

  4. Bootstrap页面布局9 - BS列表

    列表: 无序列表(列表中项目内容没有固定的顺序), 有序列表(通常使用在一组有前后顺序的内容上), 描述列表(定义解释一组词汇) 无序列表: <ul> <li>Ueditor编 ...

  5. Bootstrap页面布局8 - BS常用标签与样式

    常用的Css文字标签 一. <p>文字段落Start,<strong>重要的文字</strong>,<em>倾斜的文字用来提示</em>,& ...

  6. MVC @functions

    asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...

  7. Syntactic_sugar

    https://en.wikipedia.org/wiki/Syntactic_sugar http://stackoverflow.com/questions/11366006/mysql-on-v ...

  8. 各大网站CSS代码初始化集合

    css代码之所以初始化,是因为能尽量减少 各浏览器之间的兼容性问题! 腾讯QQ官网 样式初始化 body,ol,ul,h1,h2,h3,h4,h5,h6,p,th,td,dl,dd,form,fiel ...

  9. UltraEdit 标签(tab)不见的3个解决办法

    UltraEdit 标签(tab)不见的3个解决办法 2010-11-08 09:19 1042人阅读 评论(0) 收藏 举报 工具c 方法1:点 视图->视图/列表(V)->打开文件标签 ...

  10. os相关方法总结

    __file__表示当前文件 os.path.dirname表示当前文件所在路径的父路径 os.pardir表示当前文件名 os.path.join表示合并 os.path.abspath表示绝对路径