2013-01-25 3 views
0

새로운 Xcode 프로젝트를 만들고 유니티에서 생성 한 Xcode 프로젝트에서 "Data", "Classes"& "Libraries"폴더를 추가했습니다. 이제 AppController.mm이 오류의 원인입니다. 오류가 코드 : 여기Unity AppController.mm 파일로 인해 오류가 발생했습니다

(surface->eaglLayer) = (CAEAGLLayer*)[view layer]; 

및 오류 라인 : 당신은 엑스 코드에 유니티 프로젝트를 내보낼 때 호환되지 않는 유형에서 "CAEAGLLayer *"

+0

다른 방법으로 생각됩니다. Te 오류가 명확하게 말합니다. '(surface-> eaglLayer) = (void *) 시도 [레이어보기]; ' – Majster

+0

유니티의 어떤 버전을 사용합니까? 'AppController.mm'을 수정 했습니까 (3.5.6에서는이 줄을 찾을 수 없습니다)? Majster가 말한 것처럼'surface-> eaglLayer'는 사실'void * '타입입니다. – Kay

+0

@ 케이 Unity 4.0.0f7을 사용하고 있습니다. 아니요, 'AppController.mm'을 수정하지 않았습니다. –

답변

1

을을 "무효 *"를 지정 , 유니티는 생성 된 모든 필요 당신에게 필요한 모든 프레임 워크와 라이브러리를 추가하는 것, 파일을 추가하는 것, 컴파일해야한다. oject 파일과 다른 것들. Xcode에서 새 프로젝트를 만들고 세 폴더를 복사/붙여 넣으면 위의 모든 작업이 설정되지 않습니다. 그래서 당신은 그들을 다루는데 많은 어려움을 겪을 것입니다. 귀하의 예제에서 CAEAGLLayer는 OpenGL과 관련이 있으며 OpenGLES.framework를 최소한 추가해야합니다.

결론은 다음과 같습니다. 수행중인 작업을 정확히 알고있는 경우를 제외하고는 프로젝트를 만들고 복사하여 붙여 넣지 마십시오. 그렇지 않으면 프로젝트를 성공적으로 구축하고 연결할 가능성이 없습니다. 유니티를 내 보낸 프로젝트를 항상 사용하고 프로젝트의 내용을 수정하십시오.

+0

내 아이폰 앱에서 작은 부분으로 유니티 응용 프로그램을 사용하고 싶습니다. 내 응용 프로그램은 ARC 규격을 준수하지만 프로젝트는 단일체로 만들어집니다. Non -ARC입니다. 어떻게 전체 응용 프로그램을 ARC 규격으로 만들 수 있습니까? –

+1

유니티 프로젝트를 ARC로 변환하지 않는 것이 좋겠지 만, 그냥 아크없는 플래그를 설정하는 것이 좋습니다. 유니티가 내 보낸 모든 파일에 -fno-objc-arc 컴파일러 플래그를 추가하십시오. 플래그를 추가 할 위치가 없으면 [이 질문] (http://stackoverflow.com/questions/6646052/how-can-i-disable-arc-for-a-single-file-in- a-project) – onevcat

관련 문제