<COCOS2D-X>

0. 개발 환경 설정

CodeGrimie 2021. 1. 26. 22:32

Cocos2D-X 설치하기

Cocos2D-X는 가장 최근 버전 4.0(2019.12.04)이후로 사실상 유산(Legacy) 프로젝트가 되었다.

Cocos 프로젝트의 유지보수를 주도하는 추콩(chukong) 스튜디오가 Cocos Studio 중심으로 Cocos를 개발하기로 결정했기 때문이다.

 

Cocos Studio는 기존의 Cocos2D-X와 같이 오픈 소스인데다 유니티와 언리얼과 같이 접근성이 매우 놓아졌다.

자바스크립트를 스크립트 언어로 채택하면서 컴파일 없이 게임을 개발할 수 있을 뿐 아니라 내부적으로는 C++로 작성되어 있어서 성능 역시 기존의 Cocos2D-X와 비교해도 손색이 없다.

 

지금도 C++을 사용해서 게임 제작 실습하기엔 Cocos2D-X로 충분하지만 외국 포럼에서는 C++을 공부하려면 차라리 SFML이나 UE4를 선택하기를 권장하는 분위기가 커지고 있다.

 

윈도우 환경에서 Cocos2D-X 개발환경을 설정하기 위해서는 2가지개발 도구을 설치해야 한다.

 

1. 파이썬 2.X(2.7.18)

2020년을 기점으로 공식 지원이 종료된 파이썬 2 버전을 여전히 사용한다.

그리고 추콩 스튜디오 역시 Cocos2D-X의 업데이트를 2019년 이후로 업데이트 하지 않고 있다.

(Github에서도 더 이상 코드를 업데이트 하지 않는다.)

 

2. CMake

Makefile을 개선한 코드 빌드 도구다.

비주얼 스튜디오는 코드 빌드에 필요한 대부분의 속성을 GUI 기반에서 설정할 수 있지만 다른 IDE 중에서는 지원하지 않는 경우도 많다.

이럴 때 다른 플랫폼에서도 코드를 빌드할 수 있도록 의존성을 설정해주는 것이 바로 코드 빌드 도구다.

다루는 자세한 방법은 차후에 따로 공부하게 되겠지만 일단 이런게 있다는 것만 확인하고 넘어갔다.

Cocos2D-X 설치

Cocos2D-X의 폴더에 가서 아래의 명령어를 입력하면 자동으로 설치해준다.

setup.py

파이썬의 편리함이 느껴지는 방법인데 파이썬으로 관리툴을 만드는 것도 재밌겠다고 생각했다.

안드로이드 개발 환경 설정

안드로이드 스튜디오 설치

안드로이드 스튜디오 공식 홈페이지에서 내려받을 수 있다.

안드로이드 운영체제로 빌드하기 위해서는 여러가지 툴들이 필요한데 이걸 편리하게 설치/관리할 수 있다.

SDK, NDK 설치

본인의 핸드폰 안드로이드 버전에 맞는 SDKNDK를 설치하면 된다.

프로젝트 생성 후) Gradle 설정

해결되지 않는 에러가 가장 많이 발생하는 부분이다.

먼저 Gadle 버전을 설정해줘야 한다.

 

▼ [File] - [Project Structure] - [Project]

// Android Gradle Plugin Version
4.12

// Gradle Version
6.8.1

 

이걸 진행하면 새로이 프로젝트를 빌드하는데 경우에 따라서 Java.NullPointerException이 발생할 수 있다.

이 에러는 SDK와 NDK 경로가 잘못 설정되어 있을 때 발생한다.

 

local.properties에서 ndk 위치를 설정해준다.

sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\Sdk
//ndk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\Sdk\\ndk\\22.0.7026061

구글에서 이제 ndk.dir 명령어를 권장하지 않는다.

위의 Gradle Version이 정상적으로 변경되었다면 자동으로 ndk는 설정이 된다.

 

gradle.properties에서 PROP_APP_ABI를 수정한다.

PROP_APP_ABI=armeabi-v7a:arm64-v8a:x86

 

그럼에도 계속해서 에러가 발생한다면 아래의 경우들을 다 확인 했는지 검토하면 된다.

 

blog.chong.kr/2020/05/21/cocos2d-x-4-x-android-setup/

 

cocos2d-x 4.x Android Studio setup – chong.kr

Install Android Studio and setup SDKs using SDKManager. In SDK Platforms tab, install latest Android SDKIn SDK Tools tab, install following tools:Android SDK Build-ToolsNDK (Side by side)CMakeAndroid EmulatorAndroid SDK Platform-ToolsAndroid SDK Tools… I

blog.chong.kr

Cocos2D-X 프로젝트 생성

Cocos2D-X로 새로운 프로젝트를 만들기 위해서는 프로젝트가 위치할 경로에서 아래의 명령어를 입력한다.

cocos new TheMirror -l cpp -p com.codegrimie.themirror

▼ 프로젝트에 필요한 파일들을 자동으로 만들어준다.

이대로 바로 게임을 만들 수 있으면 좋겠지만 그렇지는 않았다.

프로젝트를 생성했을 뿐 비주얼 스튜디오에서 사용할 개발 환경은 자동으로 만들어져 있지 않다.

 

▼  TheMirror/proj.win32 폴더에는 Main.cpp 파일만 덩그러니 있다.

이때 위에서 설치한 CMake를 사용해서 비주얼 스튜디오를 위한 개발 환경을 생성할 수 있다.

proj.win32경로에서 아래의 명령어를 입력하면 자동으로 비주얼 스튜디오 개발 환경을 생성해준다.

cmake .. -G "Visual Studio 16 2019" -AWin32

 

Visual Studio와 -AWin32를 잊지 말자.

명령어를 입력하면 Windows SDK가 비주얼 스튜디오에 맞는 솔루션을 알아서 생성해준다.

 

▼ 익숙한 비주얼 스튜디오 프로젝트 솔루션이 생성된다.

솔루션으로 비주얼 스튜디오를 연 다음에 솔루션을 컴파일 하면 ALL_BUILD 에러가 발생하는 경우가 있다.

CMakePredefinedTarget에 있는 ALL_BUILD가 문제인데 나는 윈도우만 빌드할 때는 지워도 된다.

 

혹은 GWL_WNDPROC 에러가 발생하는 경우도 있다.

x86이 아니라 x64일 때 발생하는 에러로 Cocos2D-X는 x64 빌드를 공식적으로 지원하지 않는다.

이때는 CMake에서 -AWin32를 빼먹었을 가능성이 높다.

해결법은 그냥 새로 프로젝트를 생성하는게 빠르다.

 

▼ 귀여운 로고가 뜬다면 개발 환경 설정이 완료된 것이다.

Cocos2D-X 기능과 예시를 보려면 test 프로젝트를 빌드하라.

Cocos2D-X는 예시 프로젝트가 상당히 잘 만들어져있다.

엔진에서 제공하는 거의 모든 기능들이 예시에 다 구현되어 있기 때문에 찾아가면서 참고하기에 좋다.

 

Cocos2D-X의 test 프로젝트는 아래의 경로에 위치한다.

\Cocos2D\tests\cpp-tests

코드를 빌드하는 방법은 위에서 한 것과 동일하다.

빌드 해보면 기능별로 잘 정리되어있고 코드를 비주얼 스튜디오에서 쉽게 확인이 가능하다.

 

MSVCR110.dll 이슈

마이크로소프트 비주얼 스튜디오 2012 재배포 패캐지가 없을 때 발생한다.

원래라면 마이크로소프트 공식 홈페이지에서 굳이 로그인 해가면서 내려받아야 하지만

나는 다른 사람들이 귀찮은 일을 안 했음해서 설치파일을 첨부한다.

en_visual_cpp_redistributable_for_visual_studio_2012_update_4_x86_3161523.exe
6.25MB

x86즉 32비트 설치파일인데 애초에 Cocos2D-X는 64비트 빌드를 지원하지 않아서 이거 하나로 오케이다.

 

▼ 리스트로 정갈하게 정리되어 있다.