2012-05-09 24 views
0

我在OSx中使用Photoshop连接API时出现了一个奇怪的错误。 我需要包括CPP文件到我的项目的头......我从Adobe的例子开始,包括我这样的代码:它包含了PSCryptor类在Objective-C项目中添加C++头文件

#include "PSCryptor.h" 

class PSCryptor 
{ 
    public: 
... 

当我尝试使用PSCrypor对象,像这种代码

static PSCryptor *sPSCryptor = NULL; 

我得到这个错误:

Unknown type name 'class'; did you mean 'Class'? 

你能帮我理解哪个是我的错误吗?

回答

2

该文件被包含在Objective-C文件中 - 也就是说,它们具有扩展名“.m”,或者它们被专门配置为编译为Objective-C(可能是前者)。因此,编译器试图将代码解释为Objective-C,但是C++不是有效的Objective-C,所以它会抱怨。

你需要做的是使用Objective-C++代替。简单修复:将使用该标题的文件的扩展名从“.m”更改为“.mm”。

+0

Adob​​e使用的示例与.cpp文件一起工作,您认为这可能如何? – MatterGoal

+0

@MatterGoal:.cpp文件也被编译为C++,所以这不会成为问题。这听起来像是你遇到的麻烦是你将这个头文件导入一个* not * C++的文件中。 – Chuck

+0

@Chunk你是对的!我可以使用.mm修改扩展名或在“身份和类型”框中修改“文件类型”属性。 – MatterGoal