2013-04-14 4 views
0

Я пытаюсь использовать Novocaine в приложении iPhone, которое я создаю. Я не могу понять, как обойти эту ошибку, я получаю:Неизвестное имя типа при попытке включить библиотеку

Unknown type name 'RingBuffer' 

Вот моя структура файла:

File structure

... с этими файлами под новокаином быть те, вытащили из репозитория 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 

Я попробовал решение, которое я нашел на another question, что говорит о том, что это должно работать:

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

Но это просто дает мне Redefinition of 'RingBuffer' as a different kind of symbol.

Как я могу решить эту проблему и используйте RingBuffer?

ответ

0

нашел ответ (или я угадать комбинацию ответов): советы

Следуйте coryalder в информации для настройки компилятор по умолчанию для Objective-C++, как описано here.

Кроме того, изменить все .m файлы .mm файлов, и, наконец, добавить -fno-objc-arc флаги компилятора для всех .mm файлов - которая подробно описана here.

1

RingBuffer - класс C++. Я рекомендую вам изменить расширение файлов Objective-C от .m к .mm, который сделает их Objective-C++

+0

Просто сделал это, а также добавление '-fno-objc- arc' компилятора во все файлы '.mm', которые фиксировали кучу ошибок ... но моя оригинальная проблема по-прежнему сохраняется. – varatis

+0

@varatis Обратите внимание, что вам нужно будет изменить расширение на все файлы '.m', которые #import и косвенные #import' DDViewController.h' – epatel

+0

Я понял это, просто изменив по умолчанию компилятор Objective-C++ для проекта, но да, это тоже сработало бы. – varatis

Смежные вопросы