Я пытаюсь добавить поддержку для Ogg Vorbis в моем проекте (C++, VS 2010). У меня не возникло проблем с компиляцией LibOgg + LibVorbis для создания статической библиотеки.Ошибка Ogg vorbis
Моя процедура заключается в следующем:
LibOgg
- Скачать LibOgg
- Построить LibOgg с динамическим решением (Release)
- Получить libogg.lib экспорта и в libogg .dll в /выпуск папка
LibVorbis
- Скачать LibVorbis
- Установить соответствующий включают + библиотека папки для LibOgg
- Построить LibVorbis с динамическим решением (Release)
- Получить libvorbis .lib и libvorbisfile.lib экспорта и libvorbis.dll и libvorbisfile.dll в /Release папку
Моя программа
- Установите соответствующий включают + библиотеки папки для Libogg + LibVorbis .lib exports
- Место .dll в рабочей директории
сборка прошла успешно, но в отличие от статической сборки (который работает), динамическая сборка просто падает в первом ov_open
вызова (который открывает некоторые .ogg файл). Я построил множество библиотек (GLEW, SQlite и т. Д.), но этот вариант дает мне орехи.
Благодарим за информацию, но, похоже, я не могу найти значение по умолчанию OV_CALLBACKS_DEFAULT, которое, как говорят документы, передаются. Как мне обойти это? – rationalcoder
@rationalcoder вы можете найти _default substitute_ для окон (как говорит xiph) на странице [this] (https://xiph.org/vorbis/doc/vorbisfile/ov_open_callbacks.html) (смотрите примечания ниже) и [ здесь] (https://xiph.org/vorbis/doc/vorbisfile/callbacks.html) есть некоторые способы. Если вы имеете в виду, что это _undeclared_, я тоже это видел .. никогда не нашел решения, так как im использовал 'ov_fopen' –
Да, я обнаружил, что и я имел в виду необъявленное :(К сожалению для меня, так было ov_fopen !!! К счастью, однако, я наткнулся на старый поток gamedev.net, в котором была опубликована рабочая реализация обратных вызовов, которые используют stdio.h. Я запускаю и запускаю сейчас. +1 btw. – rationalcoder