Mac OSX 10.7 Lion AUPinkNoise не компилируется

#macos #osx-lion #core-audio #audiounit

#macos #osx-lion #ядро-аудио #audiounit

Вопрос:

В технической записке Apple TN2276 перечислены изменения в коде аудиоустройства для Lion. Я успешно применил изменения к образцу FilterDemo, и он компилируется нормально. Затем я вносил те же изменения в образец AUPinkNoise, но я получаю сообщение об ошибке компоновщика с указанием неопределенного символа _FilterFactory. Я изменил код в AUPinkNoise.cpp из COMPONENT_ENTRY (AUPinkNoise) в AUDIOCOMPONENT_ENTRY (AUBaseFactory, AUPinkNoise)

Но это не помогает. Будучи новичком в Core audio, я понятия не имею, как это исправить. Есть какие-нибудь идеи?

Ответ №1:

У меня была похожая проблема, за исключением другого проекта аудиоустройства. Судя по вашему описанию ошибки, я думаю, вы забыли отредактировать файл .exp. В файле .exp у вас должна быть запись _»name» и фабрика _»name». Например, в вашем случае в файле .exp (расположенном в папке AUSource) это должно быть следующим

 1:_AUPinkNoiseEntry
2:_AUPinkNoiseFactory
3:
  

Не забудьте оставить пустую строку в самом конце.

Кроме того, вы также захотите отредактировать файл info.plist, добавив запись массива AudioComponents и добавив файл AUPluginDispatch.cpp / h (расположенный в папке AUBase).

Комментарии:

1. Действительно, у моего файла .exp было неправильное имя для _AUPinkNoiseFactory. Это решило проблему.