查看: 4140|回复: 8

运行osgDB::readImageFile时出错

[复制链接]

该用户从未签到

发表于 2011-8-10 14:11:28 | 显示全部楼层 |阅读模式
在OSG中运行语句: osg::ref_ptr<osg::Image> i = osgDB::readImageFile("primitives.gif"); 时,
会提示缺少插件,Warm:could not find plugin to read objects from file "primitives.gif"
可我的OSG内有“C:\OSG\OpenSceneGraph\build\bin\osgPlugins-3.1.0\osgdb_gifd.dll”
jpg、png、tga 格式文件也是会出现同样的效果,但是osg、ive、rgb格式文件不会出错。
XP,VS2008,OSG3.1.0  ,求教高手指出解决方法。

该用户从未签到

发表于 2011-8-10 19:24:56 | 显示全部楼层
我是新手,osg已经编译好了,环境变量,include以及库文件都设置好了,但是就是不能读写png格式,debug和release下都不可以
代码如下:
#include <osg/Image>
#include <osgDB/ReadFile>
#include <osgDB/WriteFile>
int main()
{
     osg::ref_ptr<osg::Image> image = osgDB::readImageFile("Images/osgshaders1.png");
     osgDB::writeImageFile(*image,"1.png");
}

错误如下:
Warning:Could not find plugin to read objects from file"Images/osgshaders1.png".
Error writing file 1.png: Warning: Could not find plugin to write to file "1.png"

请问各位大神,该怎么解决,libpng13.dll以及libpng13d.dll都有,而且就算将dll放到当前目录,也不能读写。。。。。

该用户从未签到

发表于 2011-8-10 19:25:17 | 显示全部楼层
这是我的问题,跟你的差不多,同问啊。高手出来帮忙解答一下

该用户从未签到

发表于 2011-8-11 08:34:56 | 显示全部楼层
请查看自己是否编译了osgdb_gif,osgdb_png插件。如果没有的话,到cmake里面设置相关项然后重新生成工程

该用户从未签到

 楼主| 发表于 2011-8-11 08:42:40 | 显示全部楼层
回复 4# array
你好,我查看过了,编译的过程中dll并为缺少。请问还有其他解决的办法吗?

该用户从未签到

发表于 2011-8-11 08:48:22 | 显示全部楼层
我遇到过类似的问题,你的3rdPart是自己编译的吗?如果不是,你用ligpng等在重新编译下第三方组件试试。

该用户从未签到

 楼主| 发表于 2011-8-11 09:11:49 | 显示全部楼层
回复 6# CWorld
你好,十分感谢,可以说的再清楚点吗?新手见谅。

该用户从未签到

 楼主| 发表于 2011-8-11 14:25:51 | 显示全部楼层
回复 2# lucyli

朋友,我解决了,还是OSG有问题,我在osgChina下载的osg3.0,重新编译了一遍,然后运行就ok了,你也试试,看看行不,结贴。

该用户从未签到

发表于 2014-3-16 11:26:47 | 显示全部楼层
array 发表于 2011-8-11 08:34
请查看自己是否编译了osgdb_gif,osgdb_png插件。如果没有的话,到cmake里面设置相关项然后重新生成工程

array,你好,我是初学者,我也遇到同样的问题了,该怎样通过cmake编译osgdb_gif,osgdb_png插件呢?具体选择哪个文件夹呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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