2010년 3월 7일 일요일

Mac OS X 10.6.2에서 IrrLicht 1.7.1 설치기

홈페이지에서 소스를 다운로드 받는다.

압축을 푼다.

알기 쉽게 Document로 copy 한다

xcode에서 연다.

위치는 irrLichtHome/source/Irrlicht/MacOSX 밑에 프로젝트 파일이 있다.

( 예) /Users/wdshin/Documents/irrlicht-1.7.1/source/Irrlicht/MacOSX/MacOSX.xcodeproj)



libIrrlicht.a 부터 빌드하고, 나머지는 include 등 path 설정후에 빌드하면 된다.

( warning 이 많이 뜨지만, 빌드와 실행은 된다;;일부 프로그램은 바로 실행이 어렵다. 수정을 해줘야함.)



소감 : Ubuntu,Windows,Mac OSX모두에서 빌드가 무리없이 잘 된다.

  빌드 환경을 좌우하는 것은 뭘까?

 1) 빌드 스크립트? 프로세스? 즉, CMakefile,Configure,Makefile등이 여러 플랫폼에서 테스트 되어 있어야 한다. 많은 오픈 소스 프로젝트는 잘 테스트 되어 있지 않다.

  2) Directory(Folder)구조 : CMakefile처럼 build를 위해서 따로 복사본을 생성시키는

 경우가 좋지만, 그렇지 않아도 상관은 없다. bin,src,project,third-party-dependency등이

 잘 고려된 구조여야 한다.

 3) 하부 시스템 layer : loose coupling으로 시스템에 의존적인 부분을 잘 떼어내고 붙일 수 있도록 구조가 짜여져 있어야 한다.



 여러 플랫폼에서 되면 좋은 것은 뭐냐? 한개의 플랫폼에서만 잘 되면 되지 않느냐?

  1) 하부 시스템이 잘 분리되는 구조를 만들 수 있다. 즉, 시스템의 기능에 흔들리지 않는 구조를 만들 수 있다.

  2) 많은 사용자를 유치할 수 있다.

  3) 오픈 소스 개발자의 경우 더 많은 개발자를 유치할 수 있다. 많은 개발자 유치는 많은 피드백 유치로 이어져 완성도 상승에 기여가 된다.

  4) 여러 빌드/프로젝트 IDE 시스템에서 가능 할 경우, 개발자의 취향에 맞는 개발 생산성을 추구할 수 있게 된다.

  5) 2번과 같은 맥락인데, 떠오르는 시장에 대처할 수 있다. 요즘은 모바일 스마트폰 환경이 떠오르고 있는데, 그것에 대처하기 위해서, 시스템을 고치는데 시간을 많이 쓰게 된다면, 좋은 비즈니스 기회를 잃을 수 있게 된다.



 단점으로는,

 1) 시스템의 의존도를 잘 고려해야 하므로, 이 부분 개발에 시간을 많이 쓰게 된다. 하지만, 한 번 해 놓으면 그 다음부터는 시스템의 변화에 따라서 적응하면 된다.

 2) 여러 플랫폼을 쓰게 된다는 뜻은, 한개의 플랫폼에 집중하지 못하게 되어, 특성있는

 플랫폼의 특징을 살릴 수 없을 수도 있다. 하지만, 이 경우는 그것을 포용하도록 하는

 구조를 만들면 해결된다. 또한, 이 부분에 시간을 써야지만 제대로 된 구조가 나온다.



결론, 오픈소스  3D 엔진중에서 크로스플랫폼에서 빌드가 잘 되는 IrrLicht구조를 학습하면 좋을 것이다. 학습은 각자의 몫으로 남깁니다.;; 나중에 기회되면 분석을...

 Ogre3D 는 CMakefile 을 썼는데, 시도는 좋았으나 결과는 좋지 못했다.

  실행환경(deployment)까지 신경쓰는 빌드시스템이 필요하다.

댓글 없음:

댓글 쓰기