'iphone'에 해당되는 글 1건

  1. 2010.02.28 iPhone에 irrlicht engine 올리기 (9)

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.
다음 강좌에는 터치패널 컨트롤 하는 부분도 정리해서 올리겠습니다. 



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

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


Trackback 1 And Comment 9
  1. 야매코더 2010.04.29 17:00 신고 address edit & del reply

    그대로 해보았는데요.애러가 많이 생기네요..36개..

  2. 킬리만자로에서... 밥을먹는선비 2010.05.03 15:12 신고 address edit & del reply

    맥북을 빌려서 한거라서 다시 확인을 하지못했습니다.
    아마 버전업이 되면서 약간 변경된게 있는듯하군요. 이번주중으로 저도 맥북을 구입하려고 합니다.
    테스트해서 다시 올려 드리겠습니다.

  3. 킬리만자로에서... 밥을먹는선비 2010.06.15 16:13 신고 address edit & del reply

    답글이 늦었습니다.
    확인결과 터치 패트 관련 소스에 오류가 좀있습니다.
    touch 패드관련 소스를 넣지않고 하시면 잘됩니다.

    • 불타는꼬마 2010.06.15 13:13 신고 address edit & del

      말씀하신대로 하니 엔진은 일단 컴파일 잘됩니다. 컴파일하니 libIrrlicht.a 파일도 잘 나오고요.

      다만 4단계인 어플만들어보기에서 iPhoneTemplateApp파일을 다운받은후 압축풀고 실행해보면 libIrrlichtdev.a 와 libIrrlichtSim.a파일이 프로젝트에 빨간색으로 추가되어 있는데 이 두개파일을 프로젝트에서 삭제하고 이전에 컴파일하여 생성하였던 libIrrlicht.a를 추가하란 예기인지 아님 다른방법이 있는지... 구체적으로 설명부탁드립니다.

    • 킬리만자로에서... 밥을먹는선비 2010.06.15 22:21 신고 address edit & del

      그렇게 하셔도 될듯하고요.

      저같은 경운 이름을 바꿔서한거같습니다.
      참고로
      dev는 실기용 이고 sim은 에뮬레이터용입니다.

  4. kiru81 2010.07.22 11:45 신고 address edit & del reply

    저도 엔진 컴파일은 됐는데,(gzio.h 랑 나머지 png 관련 파일..두 개 파일 삭제후 컴파일이 잘 되었습니다.) 템플릿을 받아서 빌드를 해보니 에러가 발생하더군요. libirrlicht.a 파일은 각각 libirrlichtdev.a 와 libirrlichtsim.a 로 명칭을 바꾼 후 프로젝트에 포함시켜줬는데, 에러가 나는 부분은 UILocalizedIndexedCollation.h 파일이었습니다. syntex 관련 에러가 3개가 나오더군요.

  5. kiru81 2010.07.22 11:47 신고 address edit & del reply

    http://discussions.apple.com/message.jspa?messageID=9966687

    찾아보다가 위에서 제시된 방법대로도 셋팅해봤는데, 여전히 에러가 발생합니다. 도플광어님은 이런 에러가 발생하지 않으셨나요?

  6. 킬리만자로에서... 밥을먹는선비 2010.07.23 10:52 신고 address edit & del reply

    http://cafe.naver.com/jcga/2064

    자세하게 정리 했으니 참고하세요.

prev | 1 | next