2011-10-15 30 views
3

我可能失去了一些東西簡單,但試圖建立的時候,我發現了以下鏈接錯誤:無法連結添Bolstad的核心音頻實例

Undefined symbols for architecture i386: 
     "CAStreamBasicDescription::CAStreamBasicDescription()", referenced from: 
      -[AudioController initializeAUGraph] in AudioController.o 
      -[AudioController .cxx_construct] in AudioController.o 
     "CAStreamBasicDescription::AsString(char*, unsigned long) const", referenced from: 
      CAStreamBasicDescription::PrintFormat(__sFILE*, char const*, char const*) const in AudioController.o 
    ld: symbol(s) not found for architecture i386 
    clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我想不通這是怎麼回事作爲編譯器發現CAStreamBasicDescription.h就好了。在遇到這種類型的錯誤時,我已經看到了清除框架搜索路徑的建議,但在該路徑中沒有任何內容。可能有些簡單,但我覺得我正在用消防水帶喝水。謝謝!

+0

我不會去調用這個解決方案,我可以解決這個問題,並通過修改它來使用'AudioStreamBasicDescription'來代替'CAStreamBasicDescription'來獲取Tim的示例。除了多行更改外,您只需複製'SetAUCanonical'的功能即可。 – yuji

回答

3

您是否已將CAStreamBasicDescription.cpp添加到您的項目中?它是非官方的Core Audio SDK的一部分,所以它不可用,除非你自己編譯它。

+0

感謝您的建議。我嘗試用CAStreamBasicDescription.cpp替換CAStreamBasicDescription.h(它立即包括CAStreamBasicDescription.h)。現在的錯誤是:ld:重複的符號CAStringForOSType(無符號長,char *)等想法? – jmartin

+0

你可以創建一個示例項目來說明問題嗎?編譯器錯誤的來源太多,無法獲得更多數據。 – sbooth

+0

一年後,我遇到了同樣的確切問題(當然,我的錯誤缺少關於'CAStreamBasicDescription'的部分,但'AsString'位是相同的),並且'CAStreamBasicDescription.cpp'肯定包含在我的項目中。示例項目,如果你仍然願意看看:https://dl.dropbox.com/u/14083292/iPhoneAudio.zip – yuji