0

作成中の iPhone アプリケーションでNovocaineを使用しようとしています。このエラーを回避する方法がわかりません。

Unknown type name 'RingBuffer'

これが私のファイル構造です:

ファイル構造

... Novocaine の下にあるこれらのファイルは、Novocaine の Github リポジトリから取得されたものです。DDViewController のヘッダー ファイルは次のとおりです。

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
#import "UICoordButton.h"
#import "Novocaine.h"
#import "RingBuffer.h"
#import "AudioFileReader.h"
#import "AudioFileWriter.h"

@interface DDViewController : UIViewController
{
    RingBuffer *ringBuffer;
    Novocaine *audioManager;
    AudioFileReader *fileReader;
    AudioFileWriter *fileWriter;
}
- (IBAction)changeColor:(id)sender;
- (IBAction)changeColor2:(id)sender;
@end

私は別の質問で見つけた解決策を試しました。これは、これが機能することを示唆しています:

@class RingBuffer;
@interface DDViewController : UIViewController
{
...

しかし、それは私に与えますRedefinition of 'RingBuffer' as a different kind of symbol.

この問題を解決して使用するにはどうすればよいRingBufferですか?

4

2 に答える 2

1

RingBufferC++ クラスです。Objective-C ファイルの拡張子を、Objective-C++ にする拡張子に変更することをお勧めし.mます.mm

于 2013-04-14T22:19:07.737 に答える
0

答えが見つかりました(または答えの組み合わせだと思います):

hereで説明されているように、コンパイラのデフォルトを Objective-C++ に設定するための coryalder のアドバイスに従ってください。

また、すべての.mファイルを.mmファイルに変更し、最後に-fno-objc-arcコンパイラ フラグをすべての .mm ファイルに追加します。詳細については、こちらを参照してください。

于 2013-04-14T22:27:05.693 に答える