프로그래밍

cocos2d-x 3.0 beta의 확장 라이브러리 사용 설정 : win32, android

ozlael 2014. 2. 4. 02:02

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를 사용하게 설정 되어있는 점 유의할 것



반응형