2012-05-09 25 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