cocos2d-x는 다양한 확장 기능들을 포함하고 있습니다. http통신을 편하게 사용할 수 있는 httprequest, 에니메이션 및 UI를 효율적으로 편집하고 사용할 수 있는 cocostudio, 앵그리버드로 유명한 2D 물리 라이브러리인 BOX2D 등 그 종류도 다양합니다. 하지만 project-creator로 프로젝트를 생성하면 기본적으로는 이러한 확장 기능들에 대한 설정이 되어 있지가 않습니다. 아무리 코드에서만 기능들을 사용해도 라이브러리 및 헤더 파일 관련 설정이 되어 있지 않으면 컴파일 단계에서 오류가 나게 마련이죠
이 글에서는 이러한 기능들을 사용하기 위한 win23 및 android 프로젝트에서의 설정을 다루고자합니다. iOS는 다음 기회에;;
이하부턴 음슴체를 사용토록 하겠습니다. 모바일 사용자를 배려하여 데이터를 줄이기 위함입니다. 저어어어얼~~~대 귀챦아서 그런거 아님돠 ㅋㅋ
win32
솔루션 탐색기 > 솔루션에서 우클릭 > add > 기존프로젝트 추가
필요한 win32 프로젝트들을 추가
ex >
PROJECT\cocos2d\cocos\editor-support\cocostudio\proj.win32
PROJECT\cocos2d\extensions\proj.win32
PROJECT\cocos2d\cocos\gui\proj.win32
PROJECT\cocos2d\network\proj.win32
추가한 프로젝트들은 라이브러리 프로젝트들임. 라이브러리를 참조토록 설정해야 함.
솔루션 탐색기 > 프로젝트에서 우클릭 > 속성 > common property > refrences에서 Add New Refrence를 선택하여 새로 추가한 프로젝트들의 라이브러리 선택
헤더파일을 사용하기위해 추가 포함 디렉터리 설정이 필요함
솔루션 탐색기 > 프로젝트에서 우클릭 > 프로퍼티 > Configuration > C/C++ > additional include directories
아래 그림과 같이 디렉터리 추가
http 통신을 위해 curl을 이용하는 경우 라이브러리를 별도로 추가해줘야함
솔루션 탐색기 > 프로젝트에서 우클릭 > 프로퍼티 > Configuration > Linker > input > additional dependices > libcurl_imp.lib 추가
android
cpp 및 h 파일들이 추가되면 PROJECT/proj.android/jni/android.mk에 일일이 기술해줘야 함. 그렇게하면 귀챦으므로 디렉터리 내 파일들을 자동으로 포함되도록 수정. 다음 라인을
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp
다음과 같이 수정
GAME_SOURCE_DIR := $(LOCAL_PATH)/../../Classes
GAME_SOURCE_FILES := $(foreach file, $(notdir $(wildcard $(GAME_SOURCE_DIR)/*.cpp)), ../../Classes/$(file))
LOCAL_SRC_FILES := hellocpp/main.cpp ../ $(GAME_SOURCE_FILES)
LOCAL_WHOLE_STATIC_LIBRARIES, import-module 부분도 추가
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_gui_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static … $(call import-module,2d) $(call import-module,audio/android) $(call import-module,Box2D) $(call import-module,gui) $(call import-module,extensions) $(call import-module,editor-support/cocostudio) $(call import-module,network)
기본적으로 생성한 프로젝트가 win32는 chipmunk를 사용하게 설정 되어있는 반면 android는 box2d를 사용하게 설정 되어있는 점 유의할 것
'프로그래밍' 카테고리의 다른 글
C# Mock을 이용한 테스트 환경 조성 (2) | 2014.05.18 |
---|---|
[KGC13] 쿠킹스타 제작 사례로 보는 cocos2d-x 소개 (0) | 2014.03.05 |
cocos2d-x 3.0 beta의 개발 환경 설치 및 빌드 : win32, android (7) | 2014.01.20 |
유니티 라이팅이 안이뻐요. 딱딱하고 입체감이 없어요. 어떻게해야하나요? (9) | 2013.12.23 |
프로그래머가 수학을 못하면 (6) | 2013.12.11 |