본문 바로가기

Study/Engine

Cocos2d-x 설정 방법 ( + Android )

Cocos2d-x는 제가 DigiDigi 프로젝트에서 썼던 Cocos2d와 내용은 같지만, C++과 Objective-C로 개발 방식이 갈리는, 살짝은 다른 엔진입니다. Cocos2d-x는 지난 12월에 있었던 삼성 데브캠프에서 처음 접하게 되었고, 이번에 할 창의과제에 쓸 예정입니다. 제 데스크탑에는 설치완료되었지만, 노트북에는 세팅하지 않은 관계로 설정을 할 겸, 겸사겸사해서 포스트로 남겨볼까 합니다. 진행 방식은 제가 진행한 순서대로 쭈욱 될 것이고, 참고한 사이트는 <여기> 입니다. 그럼, 시작해볼까요?



1. Cocos2d-x 다운로드 및 압축 해제


Cocos2d-x 공식 사이트에 접속하시면 현재 개발 중인 버전과 안정화된 버전 두 가지를 받을 수 있습니다. 포스팅 당시의 최신 안정화 버전인 2.0.4 버전을 받아서 설정해보겠습니다.





사이트의 Download에서 파일 링크를 따라서 받으시면 됩니다.





그리고 C드라이브 최상위에 압축을 풀어줍니다. 압축을 풀게 되면 맥에서 압축한 흔적과 함께 실 폴더가 등장하게 되는데, 아래의 스샷처럼 하시면 됩니다.






2. Android SDK 및 NDK 설치


***** Android를 위한 Eclipse 설정이 완료되어있다면 NDK만 따로 설치하셔도 무관합니다.





NDK 다운로드 : http://developer.android.com/tools/sdk/ndk/index.html


위의 사이트에서 NDK를 받습니다. 포스팅 당시의 최신 버전인 n8d 를 받았습니다. 참고로 SDK쪽은 같은 사이트에서 받으시면 되지만 저는 친절하므로 (???) 링크를 따로 걸어드리겠습니다.


SDK 다운로드 : http://developer.android.com/sdk/index.html


NDK와 SDK를 설치할 때, C드라이브에 Android 라는 폴더를 생성해서 두개를 같이 두시면 좋을 듯 합니다.


ex) C:\Android\android-ndk-r8d

C:\Android\android-sdk



아... 생각해보니 Eclipse 세팅까지 하려니까 너무 귀찮네요 (????????) 제 블로그에 뒤지시면 SDK 설치법이 있긴 합니다. 그래도 일단 관련해서 링크를 걸어두겠습니다.


<Windows에서 Android 개발을 위한 Eclipse 설정 팁 링크>



3. Cocos2d-x Build


C드라이브에 압축을 풀었던 cocos2d-x 폴더 안에 있는 build-win32.bat 파일을 실행합니다. Visual Studio가 설치되어있지 않으면


/*

 * Check VC++ environment...

 */

Can't find VC2010 or VC2012 installed!


라고 뜰겁니다.


혹시 아예 경로를 찾지 못하는 경우가 있습니다 (in Windows 8) 그럴 경우엔 명령 프롬프트를 켜시고 C:\cocos2d-x 로 디렉터리 위치를 전환한 후 build-win32.bat 을 실행시키면 됩니다. 





설치가 완료되면 아래와 같이 나올 것입니다. 이 작업은 상당히 오래 걸립니다 (...)





혹시나 아래와 같은 스샷이 나왔다고 하시면 솔루션 파일을 한번 열어보시면 중복되는 프로젝트들은 알아서 제거가 됩니다. 닫고 다시 실행하시면 될 것입니다.





그리고 완료와 함께 cocos2d-x에 대한 테스트 및 트러블 이슈와 같은 내용이 담긴 프로그램이 실행됩니다.






4. Visual Studio Template 설정


프로젝트 마법사에 템플릿을 설정하고 싶으면 cocos2d-x 폴더 안에 있는 install-templates-msvc.bat 을 실행하면 됩니다. 이 부분에서는 실행할 때 관리자 권한으로 실행해야합니다. 그리고 Windows 8에서 아까와 같이 경로를 찾을 수 없다는 에러가 나오면 관리자 권한의 명령 프롬프트를 실행시키고 아까와 같은 절차를 밟아서 배치 파일을 실행하시면 됩니다.



5. Cocos2d-x Sample Project (Solution)


cocos2d-x 폴더에 있는 cocos2d-win32.vc20xx.sln 파일을 실행하면 됩니다. 각자 자신의 컴퓨터에 깔린 버전에 따라서 실행해야 할 솔루션 파일이 다를 것입니다. 저의 경우엔 Visual Studio 2012이기에 2012 솔루션 파일을 열었습니다.





위와 같이 10여개의 프로젝트를 확인할 수 있고, 이중에서 TestCpp를 시작 프로젝트로 설정 후 실행시키면 테스트 프로그램이 실행됩니다.






6. Cocos2d-x Project 생성 방법





솔루션에서 새로운 프로젝트를 생성하기 위해 마법사를 실행시키면 아까 설치한 템플릿이 있을 것입니다. 그걸로 프로젝트를 진행하시면 됩니다.





컴파일 후 실행시키면 Hello World 예제가 실행될 것입니다.



7. Android NDK 사용을 위한 Cygwin 설치


http://www.cygwin.com/install.html


위의 링크로 접속하시면 Cygwin을 받으실 수 있습니다. 설치시에 막 다음으로 넘기지 마시고 가상 리눅스에서 컴파일하기 위해 필요한 패키지를 인터넷에서 받을 수 있는데, 항목중에서 Devel 부분은 Default가 아닌 Install로 변경하여 모두 설치할 수 있도록 합니다. 혹은 자신이 필요한 부분만 골라서 설치하셔도 됩니다.






8. Cocos2d-x Android 프로젝트를 생성하기 위한 조치


Cocos2d-x의 Android용 프로젝트를 생성하려면 cocos2d-x 폴더에 있는 create-android-project.bat 파일을 편집해야 합니다. 아래의 3가지 경로를 자신이 설치한 SDK, NDK, CYGWIN 폴더에 대입해주시면 됩니다. 착실히 따라오셨다면 아래처럼 되있을 것입니다.


set _CYGBIN=c:\cygwin\bin

set _ANDROIDTOOLS=c:\android\android-sdk\tools

set _NDKROOT=c:\android\android-ndk-r8d





수정 후 배치파일을 실행하면 아래와 같이 패키지 경로를 입력받는데, 적절한 이름을 입력합니다. 그리고 프로젝트 이름을 생성하게 되는데, 현재 폴더에 있는 프로젝트 이름과 겹쳐서는 안됩니다. 





적당한 이름을 기입하시면 아래에 현재 지원하는 Android 버전들이 나열되는데, 개발하고자 하는 Android Device의 버전에 맞게 선택해주시면 됩니다.





그리고 자동으로 새로운 Android Project를 생성합니다. 생성된 폴더에 proj.android 로 가보시면 build_native.sh 라는 파일이 존재하는데, 이 파일을 이용해서 NDK Compile을 실시합니다.



9. CYGWIN을 통한 NDK Compile


CYGWIN을 실행하기 전에, C:\cygwin\home\사용자\.bashrc 의 내용에서 맨 하단에 다음과 같은 내용을 추가해야 합니다.


export set NDK_ROOT="/cygdrive/c/Android/android-ndk-r8d"


그리고 cygwin을 관리자 권한으로 실행합니다.





해당 프로젝트의 경로로 접근 후 ./build_native.sh 를 입력하여 스크립트를 실행하면 컴파일이 진행됩니다. 혹시 Permission denied가 발생하면 해당 파일의 권한을 풀어준 후 다시 빌드 하시면 됩니다


chmod 666 ./jni/hellocpp/main.cpp

혹은

chmod 777 /cygdrive/c/cocos2d-x/ -R





빌드에 성공하면 so 파일이 만들어집니다.






10. Ecilpse에서 폰으로 올리자!


생성했던 Android Project를 Import 시킵니다. 에러가 쭈구렁 탱탱이 나오면,

C:\cocos2d-x\cocos2dx\platform\android\java\src\org\cocos2dx\lib 폴더를 복사해서 해당 프로젝트의 proj.android\src\org\cocos2dx 폴더로 붙여넣습니다. 오류가 모두 사라지고나면, AVD 혹은 실 기기에 실행을 해봅니다!





끝!