查看: 2077|回复: 2

编译出错的问题

[复制链接]

该用户从未签到

发表于 2011-3-26 10:33:37 | 显示全部楼层 |阅读模式
int main()
{
  //创建Viewer对象,场景浏览器
osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();
//创建组节点
    osg::ref_ptr<osg::Group> root = new osg::Group();

////////////////////////////////
//创建一个节点,读取滑翔机模型
osg::ref_ptr<osg::Node>  node2 = new osg::Node();
node2 = osgDB::readNodeFile("glider.osg");
//创建矩阵变换节点
osg::ref_ptr<osg::MatrixTransform> mt = new osg::MatrixTransform();
//创建一个矩阵
osg::Matrix m;
//在 x轴平移0个单位
m.makeTranslate(osg::Vec3(10.0f,0.0f,0.0f));
//设置Z轴旋转角度90度
m.makeRotate(90.0f,0.0f,0.0f,1.0f);
//设置y轴旋转角度15度
m.makeRotate(15.0f,0.0f,1.0f,0.0f);
//设置矩阵
mt->setMatrix(m);
//添加子节点
mt->addChild(node2.get());

    ///////////////////////////////////////////////////
    root->addChild(mt.get());
   
//优化场景数据
osgUtil::Optimizer optimizer;
optimizer.optimize(root.get());
//设置场景数据
viewer->setSceneData(root.get());
//创建窗口并初始化
viewer->realize();
//开始渲染
viewer->run();

return 0;
}

编译这个程序之后出现如下错误:
\main.cpp(36) : error C2512: “osg::MatrixTransform”: 没有合适的默认构造函数可用
1>.\main.cpp(46) : error C2027: 使用了未定义类型“osg::MatrixTransform”
1>        C:\Program Files\OSG-2.8.2\include\osg/NodeVisitor(31) : 参见“osg::MatrixTransform”的声明
1>.\main.cpp(46) : error C2039: “setMatrix”: 不是“osg::ref_ptr<T>”的成员
1>        with
1>        [
1>            T=osg::MatrixTransform
1>        ]
1>.\main.cpp(48) : error C2027: 使用了未定义类型“osg::MatrixTransform”
1>        C:\Program Files\OSG-2.8.2\include\osg/NodeVisitor(31) : 参见“osg::MatrixTransform”的声明
1>.\main.cpp(48) : error C2039: “addChild”: 不是“osg::ref_ptr<T>”的成员
1>        with
1>        [
1>            T=osg::MatrixTransform
1>        ]
1>.\main.cpp(69) : error C2664: “osg::Group::addChild”: 不能将参数 1 从“osg::MatrixTransform *”转换为“osg::Node *”
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

该用户从未签到

发表于 2011-3-26 16:28:48 | 显示全部楼层
#include <osg\MatrixTransform>

该用户从未签到

发表于 2011-3-26 17:55:17 | 显示全部楼层
好像 new viewer 也不需用吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表