iPhone에 irrlicht engine 올리기

|
문서 최종 수정일 : 2011년 5월 12일

0. 들어가기전에...

많은 분들이 아이폰어플을 개발하기 위해서 오브잭트씨만을 써야한다고 잘못알고 계신분들이 많습니다.

Xcode는 c++도 컴파일이 가능하기때문에 기존에 c++기반의 공개엔진들을 올리실수가있습니다.
오브잭트씨는 c++과 별도의 언어가 아니고 c++코드를 생성해주는 관리스크립트언어(일종에 탬플릿)라 생각을하시면됩니다.
(MS의 managed c++과 비슷?)

c++기반의 일리히트엔진(irrlicht.sourceforge.net)을 올리는 방법을 설명해보도록 하겠습니다.

1. 맥개발환경 세팅하기
아이폰에 일리히트 엔진을 올리기 위해서 먼저 xcode와 최신의 아이폰 sdk를 설치해야합니다.
Install Xcode with last iPhone SDK. ( http://developer.apple.com/iphone/ )

공개소스들은 대부분 svn을 통해서 다운받는것이 많습니다. 윈도우즈는 tortoris-svn을 사용하지만
맥에서 SVN을 사용 하려면 아래 싸이트에 가면 SVN클라이언트프로그램을 구하실수 있습니다. 
Install scplugin for your Mac to access svn. ( http://scplugin.tigris.org/ ) 

 
2. 일리히트엔진 다운받기

opengl-es버전의 일리히트엔진svn으로 다운받습니다.

 
3. 엔진 컴파일하기

일단
source/Irrlicht/MacOSX/MacOSX.xcodeproj
경로에 있는 엑스코드용 프로잭트파일은 아이폰타겟이 아닌 맥운영체제용 빌드파일입니다.
그러나 이것을 조금수정하면 아이폰용으로 쉽게만들수있습니다.(역자주. 전 이것때문에 2주삽질을 ㅜ.ㅜ;;)

 
먼저 다음 3개의 파일을 프로잭트에서 제외시킵니다. (아이폰과는 무관한 맥운영체제 부분이며 컴파일시 에러가 발생합니다.)
- AppDelegate.mm 
- CIrrDeviceMacOSX.mm 
- OSXClipboard.mm 

그 다음 아래의 파일들을 프로잭트에 추가시켜줍니다.
(당근 헤더 파일은 안추가 시켜도 되겟죠. ^^;)


- source/Irrlicht/wglext.h 
- source/Irrlicht/eglext.h 
- source/Irrlicht/gles-ext.h 
- source/Irrlicht/COGLESDriver.h 
- source/Irrlicht/COGLESDriver.cpp 
- source/Irrlicht/COGLESExtensionHandler.h 
- source/Irrlicht/COGLESExtensionHandler.cpp 
- source/Irrlicht/COGLESMaterialRenderer.h 
- source/Irrlicht/COGLESTexture.h 
- source/Irrlicht/COGLESTexture.cpp 
- source/Irrlicht/CIrrDeviceIPhone.h 
- source/Irrlicht/CIrrDeviceIPhone.cpp 
- source/Irrlicht/CIrrDeviceIPhone.m 

include/IrrCompileCongig.h 파일의 앞부분에 아래 코드를 추가해줍니다.( #include <stdio.h> 바로 밑에쯤... )

#define NO_IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_ 
#define NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_ 
#define NO_IRR_COMPILE_WITH_BURNINGSVIDEO_ 
#define NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_ 
#define NO_IRR_COMPILE_WITH_OGLES2_ 

#define _IRR_COMPILE_WITH_OGLES1_ 

 


그리고 나서 마지막으로 Get Info->Base SDK for All Configurations->[현제 설정되어있는 최신 ios]
으로 설정을 해준뒤 빌드를 합니다.


 

아래의 파일이 생성됐다면 성공한것입니다.
- source/Irrlicht/MacOSX/build/Debug-iphonesimulator/irrlicht.a 
 
일단 여기까지 하시면 엔진컴파일은 완료가 됐습니다. 

4. 어플만들어보기

포럼에서 FuzzYspo0N 님이 올려주신 탬플릿을 다운받습니다.

그다음 빈폴더를 만들어 그안에  압축을 풀어넣습니다.
irrlicht.a파일도 같은 폴더에 카피해 넣습니다.

 iPhoneTemplateApp/irrlichtApplication.xcodeproj 파일로 프로잭트를 오픈합니다.

get info->irrlicht.a 에서 경로명을 카피해넣은 폴더로 새로지정해줍니다. 그러면 빨간색이 검은색으로 바뀌게 될것입니다.

get info->include 에서 일리히트엔진을 컴파일했던 include디랙토리로 지정해줍니다.

마지막으로 
Get Info->Base SDK for All Configurations->iPhone Simulator 3.x
선택해준뒤

빌드한후 실행해보실수 있습니다.



4.1 아나 토미 싸이트에서 어플 만들어 보기



5.참고자료
혹시 다운로드 링크가 깨져있을것에 대비해서 자료를 관련 자료 업로드 해둡니다.


ps.
다음 강좌에는 터치패널 컨트롤 하는 부분도 정리해서 올리겠습니다. 



=================================================================

포럼에 올라온 원문입니다.


And