查看: 1499|回复: 6

关于插件的注册和依赖

[复制链接]

该用户从未签到

发表于 2010-3-8 10:29:22 | 显示全部楼层 |阅读模式
在atl控件里,使用osgDB::Registry::instance()->loadLibrary注册osgdb_osg插件时可以正常注册,但是注册osgdb_ive时,却不可以。
我知道osgdb_ive依赖更多的dll,我也全部copy到同一目录下了,用这一堆dll在控制台下可以正常显示ive的数据,但是在控件中就是注册不了
请问,哪们高手知道原因,ive的注册还依赖什么呢?

该用户从未签到

发表于 2010-3-8 11:04:15 | 显示全部楼层
我不是很清楚您注册失败的原因,也许您可以给出更多的调试信息,ive插件因为封装了所有NodeKits的基本功能,所以它需要所有的osg*.dll文件,并且有可能需要osgdb_zip.dll文件

该用户从未签到

 楼主| 发表于 2010-3-8 12:31:09 | 显示全部楼层
osgarray太厉害了,就是少了osgdb_zip.dll,加了这个就可以了,呵呵
顺便说一下,ive的所有依赖项
osgdb_zip
ot11-OpenThreads
osg
osgdb
osgsim
osgfx
osgtext
osgterrain

该用户从未签到

 楼主| 发表于 2010-3-8 18:08:21 | 显示全部楼层
真不好意思,以上我弄错了,其实能否注册,跟osgdb_zip.dll没关,问题应该是这样的:
我现在用的dll是2.8的安装生成的,我将必要的dllcopy的安装目录的bin下面,就可以注册了,把这些必要的dll移动到别的目录,难道安装的时候做了什么操作?

该用户从未签到

发表于 2010-3-9 08:20:24 | 显示全部楼层
这个问题其实就是:您的系统(例如Windows)是否能找到它所需的文件,无论这些文件是保存在工作路径下还是PATH环境变量指定的路径中。您只需要做这类检查就可以了

该用户从未签到

 楼主| 发表于 2010-3-9 09:04:41 | 显示全部楼层
刚开始我也以为是这个问题,但是就算我没有dll放在path目录下,osgdb_osg.dll的注册也能成功,就是.ive不行。

该用户从未签到

 楼主| 发表于 2010-3-9 18:13:08 | 显示全部楼层
解决了,但是原因还是想不通,_putenv(path.c_str());函数,注册一下这个那三个dll所有在目录,详细过程整理在http://mochou123456.blog.163.com,请浏览到这帖子的高手指点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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