본문 바로가기
개발/Cocos2d-x

[Cocos2d-x] 이클립스에서 JAVA / C++ 혼합 프로젝트 설정하기 #1

by 가리봉맨 2012. 10. 16.
반응형

  Cocos2d-x 안드로이드 빌드를 하기 위해서는 두 가지 과정을 거쳐야 한다. 먼저 콘솔에서 c++ 파일들을 빌드하고 그 다음 이클립스에서 JAVA 파일들을 빌드해야 한다. 그런데 이클립스에 플러그인 하나만 설치하면 두 가지 과정을 이클립스에서 한 번에 처리할 수 있다. 또, 이클립스에서 직접 c++ 파일을 편집할 수도 있다.


  그 플러그인이 뭐냐하면 바로 CDT(C/C++ Development Tools) 이다. 해당 플러그인을 설치하기 위해 이클립스 메뉴에서 Help -> Install New Software 를 선택한다. 그리고 work with: 란 옆의 콤보 박스에서 "Indigo - http://download.eclipse.org/releases/indigo" 를 선택한다. 이클립스 버젼이 Indigo가 아니라면 해당 버젼에 맞게 선택해 주면 된다.


  다음으로 programming Languages 카테고리를 선택한 뒤, C/C++ Development Tools 에 체크해 준다. 그리고 Next를 누르고 안내에 따라 설치를 하면 된다.


  

  이제 기존 프로젝트에 C/C++ 프로젝트를 결합하는 일이 남아 있다. 해당 프로젝트를 선택한 뒤, 이클립스 메뉴의 File -> New -> Other에서 C/C++\Convert to a C/C++ Project(Adds C/C++ Nature) 를 선택한다.



  Next 버튼을 누르면 아래와 같은 창이 뜬다. Candidates for conversion: 에서 해당 프로젝트를 선택한 뒤, Project  type:은 "Makefile project"를 선택하고 Toolchains:는 기본 값인 -- Other Toolchain -- 를 선택해 준다.



  Finish 버튼을 누르면 창이 하나 더 뜬다. 이클립스에서 퍼스펙티브(Perspective)란 작업의 종류에 따라 뷰와 에디터가 배치된 세트를 의미한다. 기본적인 안드로이드 관련 셋팅만 해 놓은 상태라면 이클립스 우상단에 Debug, DDMS, Java 퍼스펙티브가 있을 것이다. 여기에 C/C++ 퍼스펙티브를 추가할 것이지 여부를 뭍는 것이다. 일단 No를 선택한다.



  이제 C++ 파일 컴파일을 위한 리눅스 make 명령 실행에 대한 프로젝트 설정을 변경해 줘야 한다. Package Explorer에서 프로젝트를 선택한 뒤 마우스 오른쪽 버튼을 누르고 제일 아래에 있는 Properties를 선택한 뒤, C/C++ Build 메뉴를 선택한다.


  다음으로 "Use default build command" 체크박스를 해제한 뒤 Build command: 란을 아래와 같이 채워 준다. "samplecocos2dxandroid" 부분은 각자의 프로젝트명에 맞게 변경해 주면 된다. 이렇게 하면 전에는 콘솔에서 직접 입력하던 build_native.sh 스크립트를 이클립스가 실행해 주게 된다. 참고로 끝에 붙은 'V=1" 옵션은 빌드 명령이 콘솔 화면에 표시되도록 해 주는 역할을 한다.


 bash ${workspace_loc:/samplecocos2dxandroid}/build_native.sh NDK_DEBUG=1 V=1 


  마지막으로 NDK가 설치된 경로를 이클립스에 알려주는 작엄을 해야 한다. 다시 Properties 창을 열고 C/C++ Build 를 더블 클릭해서 하위 메뉴를 펼쳐준다. 여기서 Enviornment를 선택한다. 그리고 Add 버튼을 누르고 NDK_ROOT란 키 값과 다음과 같이 NDK가 설치된 경로를 넣어 준다. 


 /Users/NokNokMobile/Documents/_dev/android-ndk-r7-crystax-5.beta2 



  여기까지 하고 이클립스 메뉴에서 Project -> Build All 을 하면 이클립스 Console 창에 빌드 과정이 찍히면서 C++ 파일들이 정상적으로 빌드되는 것을 확인할 수 있다. 



  하지만 아직 완전히 끝난 것이 아니다. 빌드는 되지만 C++ 파일들에 몇 가지 warnings이 남아 있다. 이 부분에 대한 처리는 다음 편에 계속 하도록 하겠다.


참고 사이트:

http://cocos2d-x.org/

http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started 

http://stackoverflow.com/questions/12594854/cocos2dx-specific-libraries-cannot-be-resolved-after-creating-android-project-fr

http://okjsp.tistory.com/1165643087

반응형

댓글