查看: 4722|回复: 18

osgAudio编译问题

[复制链接]

该用户从未签到

发表于 2011-6-18 12:32:47 | 显示全部楼层 |阅读模式
想在osg2.8.3+vc2005下编译osgAudio,所用的源码为:1。 osgAudio_02_00_00.zip , osg官网下载

2.  fmodapi4.34.05win32-installer.exe ,fmod官网下载


编译时发现,AudioEnvironmentFMOD.cpp文件报错如下:  error C2065: “FMOD_3D_LOGROLLOFF”: 未声明的标识符   
添了一行static int FMOD_3D_LOGROLLOFF;解决了这个错误,之后又有如下一系列的错误,无法生成出osgAudio.dll等库,不知道是版本不对应,还是什么问题,请各位老师指点一下,多谢




AudioEnvironmentFMOD.obj : error LNK2019: 无法解析的外部符号 "public: enum FMOD_RESULT __stdcall FMOD::System::release(void)" (?release@System@FMOD@@QAG?AW4FMOD_RESULT@@XZ),该符号在函数 "public: virtual __thiscall osgAudio::AudioEnvironment::~AudioEnvironment(void)" (??1AudioEnvironment@osgAudio@@UAE@XZ) 中被引用
1>AudioEnvironmentFMOD.obj : error LNK2019: 无法解析的外部符号 "public: enum FMOD_RESULT __stdcall FMOD::System::close(void)" (?close@System@FMOD@@QAG?AW4FMOD_RESULT@@XZ),该符号在函数 "public: virtual __thiscall osgAudio::AudioEnvironment::~AudioEnvironment(void)" (??1AudioEnvironment@osgAudio@@UAE@XZ) 中被引用
1>AudioEnvironmentFMOD.obj : error LNK2019: 无法解析的外部符号 "public: enum FMOD_RESULT __stdcall FMOD::System::set3DSettings(float,float,float)" (?set3DSettings@System@FMOD@@QAG?AW4FMOD_RESULT@@MMM@Z),该符号在函数 "public: void __thiscall osgAudio::AudioEnvironment::setSoundVelocity(float)" (?setSoundVelocity@AudioEnvironment@osgAudio@@QAEXM@Z) 中被引用

该用户从未签到

 楼主| 发表于 2011-6-21 09:23:57 | 显示全部楼层
我就是在这个网站上下的FMOD目前的最新版本4.34.05stable和4.35.05Development都试过了,根本不行,后来还下了个4.28的版本,还是不行。怀疑是不是osgAudio的版本问题,在官网给的链接
http://code.google.com/p/osgaudi ... +Size+DownloadCount
中看到只有三个版本,我都下载了试了,还是不行。后来打开osgaudio源码包的doc,发现有一行字It has been compiled with OSG 2.9.6. 真的只有在这么高的版本上编译才行么?为了编译这个费了好大的劲,到处找,如果能把编译包放在一块或者注明版本对应明细就好了,这样太令人崩溃了。

该用户从未签到

发表于 2011-6-20 12:21:57 | 显示全部楼层
我想这比较明显是您的FMOD版本和osgAudio所需的不一致

该用户从未签到

 楼主| 发表于 2011-6-20 19:32:58 | 显示全部楼层
谢谢您的关注!我也觉得是版本不一致,但是我打开了osg官网上提供的fmod链接网站http://www.fmod.org/,里面到底我该使用哪个版本的下载呢?我几乎试了个遍,就想编好osgAudio来用,但是总是不成功,很郁闷。还请您明示,请问一下到底该用哪个版本的fmod呢?最好能有个链接,再次感谢您!

该用户从未签到

发表于 2011-6-21 08:40:42 | 显示全部楼层
osgAudio官方给出的下载地址是:
http://www.fmod.org/index.php/download
在这里找到一个最新的版本应该就可以了

该用户从未签到

 楼主| 发表于 2011-6-21 09:26:35 | 显示全部楼层
谁有osg2.8.3版本编好的库可否分享一下

该用户从未签到

发表于 2011-6-21 15:48:26 | 显示全部楼层
前一段我用最新的版本试验过osgAudio,没什么问题

该用户从未签到

 楼主| 发表于 2011-6-21 21:18:48 | 显示全部楼层
请问一下我这个cmake选的有没有问题啊?麻烦您了
[img] 11.jpg [/img]

该用户从未签到

发表于 2011-6-22 09:58:19 | 显示全部楼层
请打开Advanced选项

该用户从未签到

 楼主| 发表于 2011-6-22 15:00:22 | 显示全部楼层
经过反复测试,终于找到问题所在,FMOD4.34版本fmod.h所定义的结构体FMOD_REVERB_CHANNELPROPERTIES改变了,所以无法编译通。
退回到FMOD4.32版本的FMOD编译就没问题,编译成功!
我用的库分别是: osgAudio_02_00_00.zip 和 fmodapi4.32.13,都是在官网上下的,有需要的可以自己试试。非常感谢Array的帮助

该用户从未签到

发表于 2011-8-19 10:31:31 | 显示全部楼层
请问一下,为什么我的cmake里面的选项和你们不一样,我用的是CMake2.8.1

我没有这几个选项 a.png

该用户从未签到

发表于 2011-8-19 11:16:31 | 显示全部楼层
回复 10# hgyzj


    果然啊,4.36版本也不行,我也去试试4.32版本的Fmod了

该用户从未签到

发表于 2012-7-6 16:43:46 | 显示全部楼层
请问有没有64位的Fmodapi呢?我发现在64位上,4.32版本的也用不了

该用户从未签到

发表于 2012-7-9 09:30:21 | 显示全部楼层
经过测试,osg3.00确实是只支持4.32版本

该用户从未签到

发表于 2013-5-4 13:16:39 | 显示全部楼层

该用户从未签到

发表于 2013-5-4 13:16:42 | 显示全部楼层

该用户从未签到

发表于 2013-8-7 15:06:12 | 显示全部楼层
刚重新生成了下,最新版本也可以了,

该用户从未签到

发表于 2013-8-7 15:21:37 | 显示全部楼层
湖面之舟 发表于 2013-8-7 15:06
刚重新生成了下,最新版本也可以了,

,不行,2个地方出错
error C2039: “RolloffFactor”: 不是“FMOD_REVERB_CHANNELPROPERTIES”的成员
error C2065: “FMOD_3D_LOGROLLOFF”: 未声明的标识符

该用户从未签到

发表于 2014-1-5 16:11:22 | 显示全部楼层
湖面之舟 发表于 2013-8-7 15:21
,不行,2个地方出错
error C2039: “RolloffFactor”: 不是“FMOD_REVERB_CHANNELPROPERTIES” ...

+1 我用的4.44.27也是这个错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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