ios환경 cocos2d-x helloworld 프로젝트를 넘어 개발 프로젝트 빌드 및 실행
기존 포스팅에서 작업하던 프로젝트에 ios용 helloworld 프로젝트를 추가했었습니다. 이번에는 ios에 제대로 된 프로젝트를 추가해서 빌드해볼려고 합니다.
먼저 cocos2d-x관련 파일이 들어있는 libs를 추가하고 Classes에 작업했던 소스들을 넣어 프로젝트에 추가합니다. 제가 win32에서 작업했던 Framework lib는 위 스샷에서 어쩌구 Feature라는 4개의 폴더입니다. 추후엔 lib로 만들어서 추가하겠지만 지금은 빌드를 위해 일단 소스를 바로 추가해줍니다.
다음으로 Resources 폴더에 자동으로 생성 된 Helloworld관련 파일들을 지우고 기존에 있던 파일들을 Xcode 프로젝트 네비게이터의 Resources에 추가합니다.
그리고 빌드를 하면,
Unknown type name 'NS_CC_EXT_BEGIN'
Unknown type name 'NS_CC_EXT_END'
Expected unqualified-id
_types.h에 있는
#ifdef __GNUC__
typedef __signed char __int8_t;
'curl/curl.h' file not found
Undefined symbols for architecture i386:
"_curl_easy_setopt", referenced from:
"_curl_easy_cleanup", referenced from:
"_curl_easy_init", referenced from:
"_curl_easy_perform", referenced from:
ld: symbol(s) not found for architecture i386
위 스샷과 내용처럼 빌드 에러가 발생합니다. curl 이외의 에러는 좀 의외인데요, Windows7에서 작업시 win32와 android모두 이상없이 빌드 했던 건데 말이죠. 샘플의 tests와 제가 만든 프로젝트의 Build Settings가 내용은 비슷한 듯 하지만 레이아웃이 좀 많이 다르던데 여기서 생긴 문제인지는 모르겠네요. 일단 CCControlDefine.h에
#include "CCPlatformMacros.h"
위와 같이 CCPlatformMacros.h를 추가해줬습니다.
그리고 libcurl.a를 cocos2dx/platform/third_party/ios에서 찾아 넣고
Header Search Paths부분은 위 스샷과 같이 추가 변경해 줬습니다. 그리고 실행을 했더니
NSString* fullpath = [[NSBundle mainBundle] pathForResource:file ofType:nil inDirectory:imageDirectory];
ccbi를 읽어들이는 부분에서 위의 bundle path를 제대로 못 가져오더군요. 이 부분은 따로 정리를 해놨으니 Xcode에서 Resources 폴더 구조 관리에 관한 포스팅을 참고하시기 바랍니다.
제대로 추가했다면 위와같이 폴더는 파란색으로 보일 것입니다. 그리고 실행하면 멋지게 개발중인 게임의 화면을 볼 수 있을거에요.
댓글
댓글 쓰기