2012-05-09 3 views
0

OSx의 Photoshop 연결 API로 이상한 오류가 발생했습니다. 내 프로젝트에 CPP 파일의 헤더를 포함 할 필요가 ... 나는 어도비의 예에서 시작하고 나는 이런 식으로 코드를 포함 :Objective-C 프로젝트에 C++ 헤더 추가

#include "PSCryptor.h" 

PSCryptor 클래스가 포함되어

class PSCryptor 
{ 
    public: 
... 

:

는 최대한 빨리이 코드

static PSCryptor *sPSCryptor = NULL; 

와 같은 PSCrypor 객체를 사용하려고 나는이 오류가

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

제 실수는 무엇입니까?

답변

2

파일이 Objective-C 파일에 포함되어 있습니다. 즉, 파일 확장자가 ".m"이거나 Objective-C (아마도 이전 파일)로 컴파일되도록 구성되어 있습니다. 따라서 컴파일러는 Objective-C로 코드를 해석하려고 시도하지만 C++은 Objective-C가 유효하지 않으므로 불만을 제기합니다.

대신 Objective-C++를 사용해야합니다. 간단한 수정 : 해당 헤더를 사용하는 파일의 확장명을 ".m"에서 ".mm"으로 변경하십시오.

+0

Adobe에서 사용하는 예제가 .cpp 파일과 함께 작동하므로, 어떻게 가능합니까? – MatterGoal

+0

@MatterGoal : .cpp 파일도 C++로 컴파일되므로 문제가되지 않습니다. 이 헤더를 * C++이 아닌 파일로 가져 오는 것이 문제입니다. – Chuck

+0

@Chunk 당신 말이 맞아요! .mm을 사용하여 확장자를 수정하거나 "ID 및 유형"상자의 "파일 유형"속성을 수정할 수 있습니다. – MatterGoal

관련 문제