티스토리 뷰

보통 프로젝트를 진행할 때 Git이나 SVN과 같은 리비저닝 툴을 쓰기 마련이다. Cocos2d-x 같은 경우에는 Cocos2d-x의 홈 디렉토리에 projects 폴더를 생성하고, 그 안에 자신의 프로젝트 디렉토리를 위치시키면 알아서 cocos2d-x library들의 (윈도우기준)솔루션을 불러와서 잘 빌드할 수 있다. (폴더명을 projects라고 지은 이유는 project-creator 툴을 이용할 경우 projects 디렉토리를 생성하고 그 안에 프로젝트를 생성해주기 때문에 이 툴과 충돌을 일으키지 않게 하기 위함이다.)



Lua binding을 이용해서 게임을 개발할 때 아무래도 C++ 단에서 지원해주는 것이 유용할 경우가 많기 때문에 자신의 커스텀 클래스를 함께 Binding해서 사용하게 된다. 이 때 사용하는 툴이 tolua++인데(tools/tolua++ 폴더에 있다. 사용법은 내 글을 참조.) 툴의 디렉토리 위치가 자신의 프로젝트 폴더 내부에 있는 것이 아니기 때문에 리비저닝 툴과 연동 하는데 껄끄러움이 생긴다. 그렇다고 tools 폴더 안에 리비저닝 디렉토리를 하나 더 만드는 것은 비효율적이지 않은가?


해결 방법은 간단하다. 이 tolua++ 툴을 내 프로젝트 디렉토리 안으로 옮기는 것이다. 이렇게 하면 그냥 툴의 디렉토리도 함께 커밋하면 되므로 관리가 편해진다. 여기서 중요한 점은 build.bat에 LuaCocos2d.cpp 경로를 수정해주는 것! tolua++의 역할은 pkg에 등록되어 있는 것들을 LuaCocos2d.cpp에다가 generating 해주는 것이기 때문이다. 때문에 LuaCocos2d.cpp의 경로에 맞춰 기존 경로를 수정해줘야 한다.


"tolua++ -L basic.lua -o "../../scripting/lua/cocos2dx_support/LuaCocos2d.cpp" Cocos2d.pkg"

기존의 이 경로에서


"tolua++ -L basic.lua -o "../../../scripting/lua/cocos2dx_support/LuaCocos2d.cpp" Cocos2d.pkg"

이 경로로 수정해주면 된다.


상대 경로로 어떻게 바뀐 것인지 보면 쉽게 알 수 있을 것이다. 

자 이제 옮긴 tolua++ 툴 폴더를 함께 커밋해주면 된다. 



추가 팁.



나는 tolua++/Cocos2d.pkg의 내용에서 내 커스텀 클래스들을 이런 식으로 등록해서 쓴다. 소스 Linking 때문인데, 이렇게 상대경로로 헤더파일들을 명시해주면 lua project에 따로 내 소스파일들을 추가해주지 않아도 컴파일이 잘 된다. "$#include ~~" 이 부분이 LuaCocos2d.cpp의 헤더에 추가되는 부분이다. (Project name과 특정 헤더 파일 이름은 보안상 이유로 모자이크 처리했습니다. 양해 바랍니다.)



끝!

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday