2015-08-08 114 views
0

所以我試圖導入aurioTouch到我的應用程序,我不斷收到這個錯誤說未知類型名稱類,您的意思是否

"unknown type name 'class' did you mean "Class"? 

我的橋接頭文件:

#import "AudioController.h" 
#import "BufferManager.h" 
#import "FFTHelper.h" 
#import "DCRejectionFilter.h" 

我試圖改變這對所有這些文件.mm,但它不能解決我的問題。任何人有任何想法,爲什麼發生這種情況?

+0

轉到左側的「斷點」選項卡。然後點擊「+」按鈕,「添加異常斷點」,運行該項目,它將定位在導致此錯誤的代碼行中。並張貼在這裏,所以我們可以幫助你 – ronan

回答

1

要混合使用C++和Objective-C,您需要使用.mm extension。但是,如果你的類只有C++(並且只包含C/C++頭文件),那麼你可以使用普通的.cpp擴展名。

.mm 帶有此擴展名的源文件除了Objective-C和C代碼外,還可以包含C++代碼。只有在您的Objective-C代碼中實際引用C++類或功能時,才應使用此擴展名。

0

我有同樣的問題,我可以通過下面的回答解決: Import aurioTouch Library with Swift

總之,AudioController.h不是一個OBJ-C文件,因爲它導入C++文件(BufferManager.h,FFTHelper。 h和DCRejectionFilter.h)。所以你不能像這樣將它橋接到Swift。

你必須創建一個純粹的Obj-C文件包裝AudioController.h