Нужна помощь в компиляции Direct Sound с использованием MinGW или любого другого компилятора C ++, если MinGW не очень жизнеспособный вариант - PullRequest
0 голосов
/ 18 февраля 2010

Моя проблема заключается в том, что я пытаюсь создать DLL-файл проекта C ++, в котором используются исходные файлы Direct Sound и заголовочные файлы. Есть файл с именем dsound.lib, который мне нужно включить. Когда я компилирую свой код, я получаю следующие ошибки

Компиляция исходного файла (ов) ... RtAudio.cpp RtAudio.cpp: 3477: 20: dsound.h: нет такого файла или каталога RtAudio.cpp: В функции-члене virtual unsigned int RtApiDs::getDeviceCount()': RtAudio.cpp:3580: error: LPDSENUMCALLBACK 'не было объявлено в этой области RtAudio.cpp: 3580: ошибка: DirectSoundEnumerate' was not declared in this scope RtAudio.cpp:3589: error: expected) 'перед "deviceQueryCallback" RtAudio.cpp: 3589: ошибка: DirectSoundCaptureEnumerate' was not declared in this scope RtAudio.cpp:3580: warning: unused variable 'DirectSoundEnumerate' RtAudio.cpp:3589: warning: unused variable 'DirectSoundCaptureEnumerate' RtAudio.cpp: In member function виртуальный RtAudio :: DeviceInfo RtApiDs :: getDeviceInfo (unsigned int) ': RtAudio.cpp: 3626: ошибка: `LPDIRECTSOUND 'не было объявлено в этой области

И таких ошибок 153. Первая строка сообщения об ошибке говорит, что dsound.h не найден, но у меня есть этот заголовочный файл в моем проекте. Я не понимаю, в чем проблема.

Может кто-нибудь, пожалуйста, предложить какое-либо решение для этого.

Спасибо

1 Ответ

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

В некоторых версиях MinGW отсутствуют заголовки, необходимые для сборки с DirectShow. Попробуйте использовать MinGW, который включает в себя gcc 4.4 или выше.

Эта проблема описана в публикации в блоге от команды разработчиков Qt, для которой MinGW является поддерживаемым компилятором. У них были проблемы с созданием Windows-реализации их мультимедийного модуля (Phonon) с использованием MinGW, как описано в этой публикации .

...