출처 : http://starplaying.tistory.com/114



아이팟 터치 & 아이폰 개발 with 툴체인 2 아이폰 개발


툴체인 설치를 위해 고생한 분들과 마찬가지로 많은 삽질을 했더랬습니다.

http://date4u.tistory.com/tag/Toolchain 에서 많은 참고를 했었지만 ,

중간에 몇군데 막히는 부분이 있더군요.

따라서 그부분을 추가해서 다시한번 툴체인 설치에 관한 글을 써 볼까 합니다.

(설치한지 며칠 지나서 쓰려니 벌써 기억이 안나기 시작하네요 -_ㅜ)

 

## 혹시 잘 안되는 부분이나 글에 오류가 있으면 덧글 부탁드립니다.

## 며칠전에 했던거라 잘못 쓴 부분이 있을 수도 있기 때문입니다.

 

 

 툴체인 설치과정

 

1. 맥OS X 용 SDK 다운로드

2. 아이폰/아이팟터치용 root filesystem 다운로드

3. 아이폰용 크로스컴파일러가 설치된 cygwin 다운로드 및 설치

4. cygwin에 필요한 파일들 복사 및 설치

5. Hello, world 테스트

6. 이클립스 및 이클립스 CDT 설치 및 연동

7. 이클립스에서 컴파일 하기

 

 

 

 

 

맥OS X용 SDK 다운로드

Xcode 2.5 이미지를 다운로드 합니다.

로그인 후 다운로드가 가능한데, 어짜피 가입해두시는 편이 좋을듯 합니다.

다운받은 이미지는 dmg파일인데, PowerISO라는 프로그램을 통해 가상시디롬으로 만들어서 열어야 합니다.

 

나중에 cygwin을 설치하고 나서 필요한 파일들을 복사하도록 합니다.

 

 

 

아이폰/아이팟터치용 root filesystem 다운로드

아이폰이나 아이팟 터치에서 직접 다운로드 할 수도 있으나, 잘 안된다고 하더군요.

저도 직접 인터넷에서 다운로드 해서 설치했습니다. 일단 1.4용 firmware를 다운로드 합니다.

 

다운로드 후 확장자를 zip으로 변경해 주고 압축파일을 연 다음, 022-3894-4.dmg 파일을 압축해제 합니다.

 

이 글에 첨부된 

 

파일을 다운받아서, 

022-3894-4.dmg 파일과 같은 경로에 넣어준 후,

압축을 풀고 vfdecrypte.exe 파일 및 dll 파일 2개가 생성된것을 확인합니다.

 

cmd 명령으로 쉘을 쉴행시켜서 위 경로로 갑니다. 명령창에,

vfdecrypt.exe -i 022-3894-4.dmg -o trasyia114.dmg -k d0a0c0977bd4b6350b256d6650ec9eca419b6f961f593e74b7e5b93e010b698ca6cca1fe

라고 입력 해서 이미지를 디코딩 하면 trasyia114.dmg 파일이 생깁니다.

이 파일을 나중에 cygwin 설치 후 PowerISO로 열어서 필요한 파일을 꺼내올 겁니다.

 


 

 

 

 

아이폰용 크로스컴파일러가 설치된 cygwin 다운로드 및 설치

Cygwin setup 파일을 다운로드 받아서 실행합니다.

 

아래 그림과 같이 User URL을 http://www.iphonegameover.com/cygwin 으로 입력하고 Add버튼을 눌르면 소스리스트에 위 사이트가 추가되면서 크로스 컴파일러가 설치된 cygwin 패키지가 다운로드 될 준비가 됩니다.

 


 
























 

준비가 되면 아래 그림과 같은 화면이 나오는데, default로 설치 합니다.

(가끔 이화면이 안나오고 에러가 발생하면서 setup.exe가 종료되기도 하는데 이럴때는 다른 pc에서 파일을 로컬에 다운로드하고 복사해 와서 설치해도 됩니다.)

 


 

 

 

 

 

 

cygwin에 필요한 파일들 복사 및 설치

cygwin 설치후 최초로 실행하기 전에, Xcode를 설치 합니다.

위에서 받은 Xcode이미지를 PowerISO로 열어서 아래 경로의 Archive.pax.gz파일을 찾습니다

\Packages\Packages\MacOSX10.4.Universal.Pkg\Contents\Archive.pax.gz

이 파일을 cygwin설치 디렉토리의 home/username/ 아래에 복사해 넣습니다

(c:에 설치하셨다면, c:/cygwin/home/username/ 이 되겠습니다)

 

그리고 위에서 디코딩한 root filesystem 역시 PowerISO로 열어서

/user/local/arm-apple-darwin/filesystem/ 아래에 복사해 넣습니다.

 


 

 

이제 cygwin을 실행해 보면, 자동으로 Archive.pax.gz파일을 찾았다고 나오고 설치가 진행됩니다.

설치가 완료되면 Your tool chain installation is now complete! 라는 메시지가 나오고 설치가 완료됩니다.

 

 

 

 

 

Hello, world 테스트

 이제 Hello, world를 컴파일 해 볼 시간입니다.

이 글에 첨부된 


을 다운받아 압축을 풀고 cygwin에 helloWorld.app라는 디렉토리를 만든뒤 복사해 넣습니다.

컴파일은 make 명령으로 간단히 진행됩니다.

 


 

컴파일 되었으면 실행을 해 볼 차례입니다.

제 경우는 터치밖에 가지고 있지 않으므로, Touch Explorer로 터치의 /Applications 디렉토리에 넣고 실행해 보았습니다 (Jail-break 된 터치라야 업로드가 될겁니다). Auto-permition(권한을 자동으로 설정해주는 어플, 터치 Jail-break 후에 따로 설치해야 함)으로 권한 설정을 해주시면 섬머보드가 재 실행되면서 터치 화면에 추가된 hello, world를 보실 수 있습니다. 실행하면 아래와 같은 화면이 나옵니다.

 

 


 

 

 

 

 

이클립스 및 이클립스 CDT 설치 및 연동

이제 이클립스를 설치하기 위한 준비단계 입니다.

 

먼저 윈도우의 환경변수에서 path를 수정해 줘야 합니다.

cygwin에서 env | grep PATH 명령으로 path를 확인해 보면 아래와 같은데,

/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: 라는 부분만 복사를 해서

윈도우의 환경변수중 Path에 추가해 줍니다.

 

당연히 경로는 c:\cygwin 아래 일 것이므로

c:\cygwin\usr\local\bin;c:\cygwin\usr\bin;c:\cygwin\bin;c:\cygwin\usr\X11R6\bin

의 형태로 추가를 해주시면 됩니다.

 

include경로 추가도 해줘야 하므로

윈도우의 환경변수에 include라는 변수이름을 추가하고 변수값에는

c:\cygwin\usr\local\arm-apple-darwin\include

를 추가해 줍니다.

 

이제 이클립스 for C, C++를 다운로드 합니다.

그리고 이클립스 CDT도 다운로드 합니다.

 

먼저 이클립스를 설치 한 후, 실행 합니다.

아래 그림처럼 Help > Software updates > Find and install 을 실행합니다

 


 

 

 

여기서 Search for new features to install을 선택하고

New Archived Site... 로 들어가서 아까 다운로드한 CDT zip파일을 선택한 후 설치합니다.

 


 

 

 

이제 자잘한 설정이 남았습니다.

 

이클립스를 닫은뒤 재실행 하시고, Window > Preference... 로 가셔서

C/C++ > NewCDT project wizard > Makefile Project 로 가셔서

아래 그림처럼 Elf Parser, Cygwin PE Parser, GNU ELF Parser 를 체크해 줍니다.

(만약 New CDT project wizard 항목이 없다면 CDT설치가 잘못된것입니다.)

 

그리고 Error Parsers 탭에서 모두 선택합니다.

 


 

 


 

 

 

자 이제 준비가 거의 끝났습니다.

다른 포스트에서 본 경우에는 이후 정상적으로 컴파일이 되었다고 하는데, 제 경우엔 잘 되지 않아서 이리저리 고민하다 알아낸 것이 추가적인 이클립스 내의 경로 설정입니다.

(혹시 컴파일 할때 Exec error: Launching failed 라는 메시지가 뜨신다면 이 방법으로 해결이 될겁니다)

 

Window > Preference... 로 가셔서 C, C++ > Environment로 갑니다.

New를 선택하고 Name에 PATH를 Value 에 윈도우의 환경변수 Path와 같은 내용을 써 줍니다.

 


 

 

 

 

 

 

이클립스에서 컴파일 하기

File > New... > C project 로 가서 새 프로젝트를 생성합니다.

모두 default로 합니다.

 


 

 

 

아까 cygwin에서 썼던 hello, World 소스를 import 합니다.

프로젝트 이름 우클릭 > import

 


 

 

 

General에서 file system을 고른후 hellow, Wolrd 파일들을 압축 풀어둔 디렉토리를 선택하면

아래처럼 파일들을 골라서 import할 수 있습니다.

 


 


 

 

이제 컴파일을 해 봅니다.

 

Project > Clean... 으로 컴파일을 하시면 아래와 같이 나와야 정상적으로 컴파일이 된 것입니다.

수고하셨습니다.

 


 

 

 

길고긴 포스팅이 드디어 끝이났네요.

다음 포스팅이 언제가 될지는 저도 모릅니다. 배워가면서 하는입장이라서요 ^^.

그럼 즐거운 개발들 되시기 바랍니다.

+ Recent posts