我正在尝试从SpeakHere Apple Xcode项目示例中实现AQRecorder.h类,但是即使我将实现类重命名为ext。 *.mm并与#import "AQRecorder.h"放在一起,仍然出现错误"Unknown type name 'class'; did you mean 'Class'?"和许多其他错误。
在我看来,这意味着它未被识别为C++类。

任何帮助将不胜感激。

最佳答案

我刚遇到这个确切的问题。我有一个使用AQRecorder.mm中的AQRecorder类的 View Controller 。

当我在 View Controller 中包含AQRecorder.h时,就会发生这些错误。在我看来,是因为我直接的Objective-C View Controller (命名为.m文件)包括C++头文件,编译器抛出了虚假错误。

有两种解决方案。最快的方法是将包括AQRecorder.h在内的 View Controller 类重命名为.mm文件,在我的案例中,UIRecorderViewController从.m更改为.mm。

或者,移动以下内容:

#include "CAStreamBasicDescription.h"
#include "CAXException.h"

从AQRecorder.h移到AQRecorder.mm。这意味着直接的C++样式头文件将不再包含(通过引用)在您的普通Obj-C源代码中。

希望能有所帮助并有意义。

10-05 20:20