我试图在我自己的iPhone应用程序中重用Apple的Speak Here sample code。我没有问题地下载并编译了该项目,因此我将一些文件添加到了自己的应用程序中。当我尝试编译自己的应用程序时,编译器给了我
MeterTable.h:54:错误:“ MeterTable”之前的语法错误
相关代码为:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
class MeterTable // line 54
{
public:
看起来xcode无法将MeterTable.h和MeterTable.mm识别为C ++文件。不过,我已经检查了File >> GetInfo的MeterTable.mm,它列出了文件类型为sourcecode.cpp.cpp。
为什么不编译?
最佳答案
您将MasterTable.mm以外的非C ++文件包含“ MeterTable.h”。
错误不在'MeterTable.h'中,而是在其前面的标头中。请注意,如果<stdlib.h>
...之前已包含,则可以是noop。
如果要确保文件是使用C ++编译的,可以将此代码添加到MasterTable.mm的开头:
#ifdef __cplusplus
#error "compiled as C++"
#else
#error "compiled as C"
#endif
关于c++ - xcode在cpp代码上给出语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/856617/