查看: 1675|回复: 9

求教&求助:哪位兄弟有可在OSG2.8.3下可运行的osgAL库文件

[复制链接]

该用户从未签到

发表于 2012-5-10 16:59:35 | 显示全部楼层 |阅读模式
本帖最后由 qubo3000 于 2012-5-10 17:15 编辑

        我最近尝试在一项目中加三维立体声音,有幸学习了肖鹏老师“OpenSceneGraph三维渲染引擎编程指南”里知识,并按书里讲的,从网上下载了一个编译好了osgAL库文件(上面注明是在2.8里能直接运行的,但没有更具体标明),并加到OSG2.8.3下,在debug模式下能运行肖鹏老师书里自带的三维立体声音osgAL例子,但我调成release模式则出现问题,问题是这样的:首先提示缺少osg55-osg.dll文件,我找到该文件加到相应的bin里,继续重构(rebuild),接着提示“应用程序正常初始化(0xc00150002),请单击‘确定’,终止应用程序”。我查了一些资料,可能是版本不兼容,osg55-osg.dll应该是OSG2.8.2的库文件,估计我下载的osgAL库文件为2.8.2环境下编译的。自己做了些尝试和努力但都没能在release模式运行成功,麻烦各位达人和高手帮帮忙指导指导。要是有能在OSG2.8.3下可运行的osgAL库文件,请发给我,本人表示万分感激。
    谢谢。
我的邮件:[email]pupengfei2002@163.com
         QQ:  61062036

该用户从未签到

发表于 2012-5-10 22:55:44 | 显示全部楼层

没啥难度,自己编译吧~~~~

该用户从未签到

发表于 2012-5-10 22:55:48 | 显示全部楼层

没啥难度,自己编译吧~~~~

该用户从未签到

 楼主| 发表于 2012-5-11 12:08:59 | 显示全部楼层
本帖最后由 qubo3000 于 2012-5-11 14:30 编辑

     首先感谢肖老师!但还是有些东西感觉有点迷茫,需要请教老师。
     我按书上提示从“http://sourceforge.net/projects/osgal”下载了osgal-0.6.1,但没有看到CMakeList.dat之类的批处理文件(书上也说了可以不用CMake),进入VisualStudio的osgAL方案运行报了非常多的错!不过,在路径“…\osgal-0.6.1\include\osgAL" 就有代码里include的SoundNode、SoundRoot、SoundManager、SoundState、Version。可惜把其拷贝到OSG2.8.3中运行osgAL例子代码,还是出现和以前一样的问题。反复折腾了很多次都没能成功,没搞懂是什么原因导致的。不过进入osgal-0.6.1里头看应该是一些osgAL的例子,不是我想要的osgAL运行库文件(包括include下的SoundNode、SoundRoot、SoundManager、SoundState、Version等)。
    我这段时间一直在调试这个东西但只在debug模式下成功,而release下则不行,可能是我没完全搞懂的缘故吧,也确实不知道include目录下这些库文件(包括SoundNode、SoundRoot、SoundManager、SoundState、Version等)是如何编译生成的,是否有版本区别?其对应的lib,bin里的文件是否也有版本区别呢?!最近因项目紧急而倍感压力,内心确实非常焦急,但又非常无奈。我是肖老师《OpenSceneGraph三维渲染引擎编程指南》的忠实读者,也一直在参考和学习肖老师的书做项目。如果肖老师方便,还烦请给我编译一个能在osg2.8.3下运行的osgAL库文件(release版本的,有include,lib,bin等文件)并发给我。
    另外,如果哪位兄弟搞过类似的东西或有这方面的知识也请提供有益的指导哦!   
    再次表示感谢。

我的邮箱:pupengfei2002@163.com
         QQ:  61062036

该用户从未签到

发表于 2012-5-11 15:21:03 | 显示全部楼层

当然还需要配置osgAL的第三方库才可以,不是能够直接编译的~~~

该用户从未签到

 楼主| 发表于 2012-5-11 21:07:54 | 显示全部楼层
本帖最后由 qubo3000 于 2012-5-11 21:23 编辑

        嗯,是的,我是按书上P337页配置的,具体是:
(1)下载了osgal在osg2.8下面编译好的库(参见附件osgAl2.8.rar),其中include包括openalpp、osgAL、AL、vorbis等文件夹及一些头文件,以及对应的lib、bin文件;我把这些文件拷贝到OSG2.8.3(以下都在该环境下操作的)对应的位置。
(2)在网上下载了第三方插件OpenAL11CoreSDK.zip,OggVorbis,并安装,并设置了相应的包含文件和库文件。
(3)并尝试安装了oalinst.zip(暂时不知道有何用)。
(3)我直接引用了肖(鹏)老师的例子程序“osgAL声音播放示例”(参见附件”osgAL声音播放示例“),并配置了debug模式下的include、lib、bin等参数。注:我的OSG2.8.3是放在目录”F:\OSG\OpenSceneGraph“之中。
(4)在debug模式下编译成功(虽然有很多warning但不影响正常输出就没做处理),并能正常输出书上的图片及三维声音。
(5)配置Release模式下对应的include、lib、bin等参数,但编译后,按Ctrl+F5执行时开始提示缺少osg55-osg.dll,我找到该文件并加入到bin中,接着提示“应用程序正常初始化(0xc015002)失败,请按‘确定’退出应用程序”。(我在上面已经做了说明)
       以上是我操作的大体过程,烦请帮分析和剖析Release执行失败的原因。要是能有在osg2.8.3下可运行的osgAL库文件或方案麻烦提供给我哦。多谢了。
      

osgAl2.8.rar

714.75 KB, 下载次数: 64, 下载积分: 威望 1

osgal在osg2.8下面编译好的库

osgAL声音播放示例.rar

1.11 MB, 下载次数: 51, 下载积分: 威望 1

osgAL声音播放示例

该用户从未签到

发表于 2012-5-11 21:23:52 | 显示全部楼层

你检查以下是不是你的DEBUG和RELEASE库之间配混乱导致的~~~~~

该用户从未签到

 楼主| 发表于 2012-5-11 21:43:01 | 显示全部楼层
本帖最后由 qubo3000 于 2012-5-11 21:53 编辑
FlySky 发表于 2012-5-11 21:23
你检查以下是不是你的DEBUG和RELEASE库之间配混乱导致的~~~~~


       哦,感谢肖老师这么快给我回复!
      Debug和Release版本的include、lib、bin等配置我都核对过很多次数了,我在刚才帖的例子里也有相应的两套配置,应该配置没问题的。感觉心里没底的是我从osgchina官网上下载osg2.8.3release版根本就看不到osg55-osg.dll等osg55-*.dll之类的库文件,而从网络上查阅听人说osg55-*.dll可能是2.8.2的库文件(但不能确认?),我上面提的osg55-osg.dll也是从网络上搜索而来的,心里也怀疑库文件可能存在不太兼容的问题,但由于对库文件没有更深入的认识,所以也没什么手段验证。因此就拿出来让老师和大家帮我分析和找解决的办法了。

该用户从未签到

发表于 2012-5-12 11:42:48 | 显示全部楼层
。。。。。。。。。。。。。。。。。。。。。实在无语,,为啥自己不编译一下OSG~~~~~你自己编译下OSG,你的问题就迎刃而解了~~~~~~

该用户从未签到

 楼主| 发表于 2012-5-14 22:09:13 | 显示全部楼层
本帖最后由 qubo3000 于 2012-5-14 22:25 编辑
FlySky 发表于 2012-5-12 11:42
。。。。。。。。。。。。。。。。。。。。。实在无语,,为啥自己不编译一下OSG~~~~~你自己编译下 ...


已经搞定了 ,是下载的osg55系列库文件不兼容引起的问题!
感谢FlySky!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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