我正在尝试使用Ogg/Vorbis和OpenAL在我的游戏中获得音效。现在,我只是试图加载一个.ogg文件并读取它的数据,实际上我并没有对它做任何事情。我第一次尝试使用ov_open,但是文档说我真的应该在Windows上使用ov_fopen。
然而,当我尝试使用它时,我得到了以下结果:
1>AudioManager.obj : error LNK2019: unresolved external symbol _ov_fopen
referenced in function "private: static struct SomeGame::SoundData * __cdecl
SomeGame::AudioManager::LoadOGG(char *)"
(?LoadOGG@AudioManager@SomeGame@@CAPAUSoundData@2@PAD@Z)...and当我搜索"unresolved symbol _ov_fopen“时,我只能得到一个结果。而且是日语的。
因此,我尝试下载ogg和vorbis源代码并编译它,然后将它们插入到项目中,但它仍然给我相同的错误。
基本上,我如何加载一个Ogg/Vorbis文件,以便在Windows上与OpenAL一起使用?
提前谢谢。
发布于 2010-04-18 14:46:57
你在链接libogg,libvorbis和libvorbisfile吗?
发布于 2010-08-17 00:43:48
对SurvivalMachine的回答作进一步说明;
Dependency Walker显示在libvorbisfile.dll中明确定义了_ov_fopen
或者在linux上,“nmlibvobisfile.a| grep _ov_fopen”显示_ov_fopen是在那里定义的。
#include <vorbis/vorbisfile.h>确保您的链接器知道在哪里可以找到lib文件。
请注意,您需要使用-Wunused variable或;
#define OV_EXCLUDE_STATIC_CALLBACKS对包含项进行...before。
https://stackoverflow.com/questions/2640465
复制相似问题