플밍

cocos2dx를 비주얼스튜디오에서 작업하기 위한 세팅 요약정리 본문

프로그래밍/cocos2d-x

cocos2dx를 비주얼스튜디오에서 작업하기 위한 세팅 요약정리

너구리안주 2013. 9. 8. 02:14

#ads_1

1. JDK 설치한다

설치 후 Path  설정

JAVA_HOME : jdk루트

CLASS_PATH : jdk 루트 / bin

2. CygWin 설치

CygWin은 윈도우상에서 리눅스 소스를 컴파일해주는 프로그램

Devel항목과 Editor항목을 Install로 변경 후 설치 (엄청 오래걸림)

Path 설정

cygwin/bin

cygwin/usr/include

3. 안드로이드 SDK 설치

Path 설정

sdk 루트 / tools

4. 이클립스 설치

안드로이드 관련 PlugIn 설치

Help -> Install New Software..

플러그인 주소 : http://dl-ssl.google.com/android/eclipse/

SDK Manager 열고 아래 항목 설치

Tools 항목 선택

안드로이드 버전 선택


5. 안드로이드 NDK 설치 (Native Developer Kit)

- 안드로이드는 Dalvik 가상머신에서 돌아가고 Java로만 코딩이 가능하다.  c/c++과 같은 네이티브 언어로 직접 코딩을 한후 Dalvik이 알아먹도록 변환해 주어야 하는데 이 변환기능을 담당하는 놈이 NDK이다.  네이티브언어로 된 프로그램과 Dalvik용 프로그램간의 의사소통을 위한 인터페이스를 담당하는 것이다.

다운로드받고 압축만 풀면된다.


6. Cocos2D-X 설치

압축만 풀면 된다


7. 환경설정

1) CygWin.exe 를 실행한다.

2) vi ~/.bashrc 를 실행해 .bashrc 스크립트에 Path를 등록해 준다. (Cygwin을 사용할때 이 파일을 불러 기본 환경설정을 한다)

//아래처럼 .bashrc에 ndk폴더를 Path에 더해줌 (나는 D: 드라이브에 설치했다. 편집방법은 vi에디터 사용법 참조)

export PATH=$PATH:/cygdrive/d/android-ndk
export ANDROID_NDK_ROOT=/cygdrive/d/android-ndk

3) Cygwin 을 종료하고 다시 실행한다.

4) .bashrc를 적용한다.  프로프트상에 아래명령을 치면 된다.

source ~/.bashrc

5) cocos2d-x 폴더안에 create-android-project.bat 파일을 수정 후 저장한다.

set _CYGBIN=d:\cygwin\bin  // cygwin안의 bin폴더 경로

set _ANDROIDTOOLS=d:\android-sdk\tools //안드로이드 sdk 안의 tools 경로

set _NDKROOT=d:\android-ndk //안드로이드 ndk 경로

6) create-android-project.bat 를 실행한다.  (프로젝트를 생성하는 배치파일이다)

a. 패키지명을 입력한다 (com.aaa.game 등과 같이 도메인 거꾸로 된 형으로)

b. 프로젝트명을 입력한다 (HelloWorld 와 같은...)

c. 안드로이드 버전이 쭉 나타나면 자기가 사용할 버전의 id를 입력하면 된다.(난 api-8을 선택했음)


7) 위과정을 수행하면 프로젝트가 생성된다.

8) 생성된 프로젝트를 이클립스로 불러온다(새 프로젝트 -> Android Project Existing Code 선택 -> 생성된 프로젝트의 폴더 선택)

9) lib폴더를 자신의 프로젝트에 복사한다. (cocos2dx의 라이브러리를 자신의 프로젝트에서 사용하기 위함)

cocos2d-dx루트폴더/cocos2dx/platform/android/java/src/org/cocos2dx/ 안의 lib 폴더를
생성된 프로젝트 폴더/proj.anroid/src/org/cocos2dx/ 안으로 복사한다.

10) 생성된 프로젝트안의 build_native.sh 파일을 수정한다.

#pahs 아래 다음 코드를 추가하고 저장한다

NDK_ROOT="/cygdrive/d/android-ndk" //ndk경로
COCOS2DX_ROOT="/cygdrive/d/cocos2d-x" //cocos2dx 경로

11) cygwin에서 build_native.sh 실행하여 프로젝트를 컴파일한다.  컴파일 후 libs / armeabi 안에 libgame.so 가 생긴다.(리눅스용 동적 라이브러리이다)

# sh build_native.sh

12) 이클립스로 Run 해보면 프로그램이 실행된다. (왠만하면 폰으로 직접보자 에뮬은 너무너무 느리다)


8. Visual Studio 에서 코딩

1) cocos2dx 폴더에 보면 install-templates-msvc.bat 파일을 실행시킨다 (비주얼 스튜디오용 템플릿파일을 등록하는 배치파일이다)

만약 이 파일이 없다면 구버전의 cocos2dx 를 다운받아 이 파일을 복사한다.  templates 파일에 msvc 폴더가 없으면 이것도 복사해 온다.

2) 새 프로젝트에 보면 cocos2dx가 생겼다. 위에서 생성했던 프로젝트명(HelloWorld) 으로 다른위치에 프로젝트를 생성하자.  그냥 디폴트로 생성하면 된다(Box2D 물리엔진은 상황에 따라 선택)

3) 이전에 생성한 프로젝트에서 proj.android 폴더를 새로 생성된 프로젝트 폴더에 복사해 넣는다. (이제 이전에 생성한 프로젝트는 필요가 없다. 삭제해도 된다)

4) 이클립스로 새로 생성된 프로젝트를 연다.

5) 비주얼 스튜디오를 연다.

6) 비주얼 스튜디오에서 해당 프로젝트명을 오른쪽 클릭해 "프로젝트 종속성..." 을 클릭한다.

7) libcocos2d, libCocosDenshion 을 체크하고 확인을 누른다.

8) 오른쪽을 눌러 해당 프로젝트를 시작프로젝트로 설정하고 빌드한다.

9) 프로그램이 윈도우에서 실행된다!!! (프로그램은 이제 여기서 하면 된다)

10) 프로그램을 완료하고 안드로이드로 포팅하기 위해선 cygwin.exe 로 들어가 build_native.sh 을 실행하면 된다.

sh build_native.sh

11) 빌드된 후 이클립스에서 libs를 새로고침하고 Run 하면 안드로이드에서 만든 프로그램이 돌아간다.


프로그램 과정만 요약하자면

1. create-android-project.bat로 프로젝트를 만들고

2. 만들어진 폴더에 cocos의 lib을 복사해 넣어주고

3. build_native.sh 를 실행해 libgame.so (동적 라이브러리)를 생성한다.

4. 비주얼 스튜디오에서 프로젝트를 생성한다.

5. 앞에서 만든 프로젝트의 proj.android를 복사해 넣는다.

6. 비주얼 스튜디오에서 프로젝트 생성한다.(종속성 추가해주고..)

7. 빌드

8. build_native.sh 로 포팅

9. 이클립스로 컴파일

더 요약하면  비주얼 스튜디오에서 코딩 -> cygwin으로 포팅 -> 이클립스에서 빌드

이런식으로 작업하면 된다 끝!!!

#ads_1

Comments