Ogg / Vorbis: _ov_fopen не может быть найден - PullRequest
0 голосов
/ 14 апреля 2010

Я пытаюсь использовать 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)

... и когда я Google "неразрешенный внешний символ _ov_fopen", я получаю ровно один результат. И это на японском.

Итак, я попытался загрузить исходный код ogg и vorbis, скомпилировать его и вставить в проект, но он все равно выдает мне ту же ошибку.

Как мне загрузить файл Ogg / Vorbis для использования с OpenAL в Windows?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 18 апреля 2010

Связываете ли вы с libogg, libvorbis и libvorbisfile?

0 голосов
/ 16 августа 2010

В дополнение к ответу SurvivalMachine;

Обходчик зависимостей показывает, что _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

... до включения.

...