所有,
我在XCode项目中单独使用.h文件创建了.mm文件,并在其中放置了以下代码:

#pragma once
class Speech
{
public:
    Speech();
private:
    NSSpeechSynthesizer *m_speech;
};




#import <AppKit/NSSpeechSynthesizer.h>
#include "speech.h"

Speech::Speech()
{
     m_speech = [NSSpeechSynthesizer new];
}


在编译期间,我得到一个错误:“ ISO C ++禁止声明无类型的NSSpeechSynthesizer”。

我需要以某种方式包括NSSpeechSynthesizer.h文件,但是无论我尝试什么,都无法正常工作。

有人可以帮忙吗?

[编辑]
看来我需要以某种方式在XCode中提供标头的路径,或者只是让XCode意识到我将使用适当的框架。
[/编辑]

最佳答案

尝试声明NSSpeechSynthesizer,就像使用纯Objective-C解决方案一样:

#pragma once
class NSSpeechSynthesizer;    // Added
class Speech
{
public:
    Speech();
private:
    NSSpeechSynthesizer *m_speech;
};

关于xcode - 如何修复编译器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11305814/

10-09 01:48