0

Ogg/Vorbis と OpenAL を使用して、ゲームでサウンドを取得しようとしています。現在、.ogg ファイルを読み込んでそのデータを読み取ろうとしているだけで、実際には何もしていません。私は最初に を使用してみましov_openたが、ドキュメンテーションには、実際にov_fopenは Windows で使用する必要があると記載されていました。

ただし、それを使用しようとすると、次のようになります。

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)

...そして、「未解決の外部シンボル _ov_fopen」を Google で検索すると、正確に 1 つの結果が得られます。しかも日本語です。

そこで、ogg と vorbis のソースをダウンロードしてコンパイルし、それらをプロジェクトに挿入しようとしましたが、それでも同じエラーが発生します。

基本的に、Windows 上の OpenAL で使用する Ogg/Vorbis ファイルをロードするにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

1

SurvivalMachineの答えに加えて;

Dependency Walkerは、_ov_fopenがlibvorbisfile.dllで明確に定義されていることを示しています

または、Linuxの場合、「nm libvorbisfile.a | grep _ov_fopen」は、そこで_ov_fopenが定義されていることを示します。

#include <vorbis/vorbisfile.h>

リンカがlibファイルの場所を知っていることを確認してください。

-Wunused-variableまたは;を使用してコンパイルする必要があることに注意してください。

#define OV_EXCLUDE_STATIC_CALLBACKS

...インクルードの前。

于 2010-08-16T16:43:47.743 に答える
1

libogg、libvorbis、libvorbisfile とリンクしていますか?

于 2010-04-18T06:46:56.953 に答える