Computer/Learning C / C++2011. 4. 5. 01:04
이 포스팅은 이 페이지 를 한글로 좀 더 간편하게 옮긴 것일 뿐임을 밝혀두는 바이다.

다만 컴퓨터 없이 아이폰 standalone으로 컴파일러를 설치하는 방법이다. 굳이 컴퓨터를 쓴다고 해도 소개할 방법과 크게 다르지가 않기에 따로 쓰지는 않겠다.

사전 작업
1.  IOS를 JailBreak 한 상태로 cydia 사용이 가능해야한다.
특히 시디아에서 패키지 필터링이 되어있어서, 몇 패키지들이 보이지 않을 수도 있다. 만일 아래서 나오는 패키지들이 보이지 않는다면,  시디아에서 Manage 섹션의 Setting에서 Developer 가 선택이 되어있는지를 확인하자.
2. Safari Download Manager 의 사용이 가능하면 좋다.(이것 + 아이파일을 사용할 수 있으면 컴퓨터가 필요 없이, 오직아이폰만을 가지고 GCC, ld  등의 툴체인 설치가 가능하다.)
3. iFile 의 사용이 가능하면 좋다.(정식 루트이던, 이상한 루트이건...)  

step 1.

위의 파일을 아이폰 내의 아무 디렉토리에 넣고 아이파일에서 실행하면 libgcc가 설치된다. 파일이 매우 작은데 이는, 실제 내용이 없는 fake 패키지이기 때문이다. 이 거짓 패키지를 설치하는 이유는 바로 다음단계에서 설치할 구버전의 아이폰 오에스에서 돌아가는 GCC를 설치하기 위함이다.

step 2.
시디아에서 gcc를 설치한다. GNU C Compiler라 되어있는 항목을 설치하면 된다. step 1에서 fake libgcc를 설치한 이유는 시디아에서 이 컴파일러 페키지를 설치하기 위한 의존성 검사를 하는데 이 libgcc라는 항목으로 인해 원래는 설치가 진행되지 않기 때문이다.

step 3.

위의 파일을 다운받아, 압축을 풀고 /usr/lib 에 파일들을 넣는다. 원래 이 파일들이 libgcc에 들어있는 파일들인데 step 1에서 껍데기만 깔아놨기 때문에 내용물을 채우는 과정이라 보면 되겠다. 겹치면 덮어쓰기를...

step 4.
시디아에서 iPhone 2.0 Toolchain 을 설치한다.

step 4.99999(?)
테스트를 위한 환경 준비작업 단계이다. 물론 아이폰에 OpenSSH 혹은 터미널이 깔려있다면 한결 수월하다. 아니라면 OpenSSH정도는 시디아에서 매우 쉽게 설치할 수 있으니 깔아놓자.
아이폰용 터미널은 기본으로 잡힌 소스에서 설치하면 실행이 되지 않는다.
소스에 http://YourCydiaRepo.org/ 를 추가하고 이 소스에서 배포하는 MobileTerminal을 설치하면 아이폰 내에서 터미널 사용이 가능하다.

루트로 로그인을 하고(패키지 설치를 하기 때문에 루트가 아니면 진행이 불가능하다. 원래는 명령어 앞에 sudo를 붙이면 되지만 아이폰에선 이 명령이 먹지 않는다. 역시 apt-get install 을 이용하여 sudo 를 설치 할 수 있지만 이것을 설치하고나서도 sudoers에 사용자 정의가 되어 있지 않다고 뜬다. 해결 방법이 없는지..) 쉘에
apt-get install vim
을 invoke 한다.(우분투에서나 먹는 명령어로 알고 있었는데 ios에서도 잘 돌아가더라는.. vim 뿐만 아니라 온갖 다른 패키지들을 설치할 수 있다.)

~/.vimrc를 입맛에 맞게 수정(기본적으로는 없는 파일이다. vim을 설치하고 이 파일을 편집하려고 하면 파일이 만들어진다.)하면 코딩을 할 때 매우 좋다. ^^

설치 명령어를 이용하여 gdb또한 설치가 가능하다... 완벽한 개발환경이다. -_-...
vim 이 불편하다면 nano를 쓸 수도 있다. apt-get install nano 로 설치가 가능하다.(pico는 없는듯.)

step 5.
테스트 과정을 거쳐보자. SSH로 아이폰에 접속을 하고(root 혹은 mobile로 로그인을 하면 된다. 다들 기본 패스워드인 alpine이 아닌 다른 녀석을 사용하고 있으리라고 믿는다.) hello.c 파일을 하나 만들어서 컴파일 하고는 실행을 해본다. 앞 단계에서 터미널을 깔았다면 아이폰 내에서 코딩을 하는것도 가능하다. 그러나 말리고싶군 -_-..



makefile을 만들어서 make명령어로 여러 소스들을 한번에 묶어서 빌드하는것 또한 가능하다. 조금 느린 손 안의 컴파일러랄까..? 정말 느리다는걸 피부로 느낄 수가 있다 -_-ㅋㅋ
제약 사항이 있다면 UIkit의 사용이 불가능하다는 것. 
아 그런데 한글이 깨져나온다 ㅠㅠㅠ

스샷을 폰의 터미널에서 찍고 올렸으면 더 재미있었을텐데 귀차니즘의 압박으로... 컴퓨터에서 ssh로 접속하여 스샷을 찍었다. 

'Computer > Learning C / C++' 카테고리의 다른 글

출력 스트림과 endl  (0) 2011.05.21
fflush(stdin) 타도 -_-;  (0) 2011.04.23
GCC on iOS 4.2.1  (6) 2011.04.05
Posted by Adward
TAG , ,

댓글을 달아 주세요

  1. 우왕

    엄청 좋네요..
    그런데 한글 입력은 어떻게 하지??? ㅋㅋ

    2011.08.16 23:27 [ ADDR : EDIT/ DEL : REPLY ]
  2. ㅜㅜㅜ

    4.999에서 모바일터미널까지 설치했는데
    그다음에 어떻게 해야하나요?ㅜㅜ
    아이패드상에서 컴파일가능한것맞죠??

    2011.11.03 03:36 [ ADDR : EDIT/ DEL : REPLY ]
    • 앞선 과정을 모두 다 하셔서 gcc가 제대로 설치 되었다면 gdb, vim, nano 와 같은 툴들은 시디아에서 모두 검색하여 설치가 가능합니다. (시디아의 패키지 세팅이 개발자(developer)로 되어 있는지 확인해주세요.)

      4.9999(?)는 굳이 전부 다 거치실 필요가 없습니다.
      기기의 화면에서 가상 키보드를 써가면서 작업을 하실 게 아니라면 모바일 터미널은 별 필요가 없습니다.
      시디아에서 openssh 정도만 설치해주시면(아이폰/패드가 ssh 서버 역할을 하도록 해줍니다.) 더 이상 할 일은 없습니다. 그저 기기에 접속을 해서 코딩을 하는게 남아 있을 뿐이죠.

      기타 아이폰에 ssh를 통해 접속하는 방법이라던가 쉘 명령어들은 검색을 하시면 좋은 자료들이 많이 나옵니다.(제 블로그엔... 없어요..) 뭐 아시겠지만 일반적인 유닉스 쉘과 거의 같거든요..

      2011.11.03 07:57 신고 [ ADDR : EDIT/ DEL ]
    • ㅜㅜㅜ

      OpenSSH는 해킹했을때 이미 설치해뒀었어요
      님은 컴퓨터에서 ssh로 접속한 모습을 보여주셨는데
      전 아이패드자체에서 코딩도하고 컴파일도 해보고싶은데
      가능한가요??

      2011.11.03 09:09 [ ADDR : EDIT/ DEL ]
    • 시디아에서 vim, nano같은 텍스트 에디팅 툴을 설치하시고 모바일 터미널에서 외부에서 ssh로 접속해서 작업하는것과 같은 방식으로 사용하실 수 있습니다.

      모바일 터미널에서 뭔가 안되는게 있나요?

      2011.11.03 20:46 신고 [ ADDR : EDIT/ DEL ]
  3. hk

    terminal에서 sudo 말고 su로 로그인하고 비밀번호 alpine으로 하면 root 가능하네요~

    2012.10.16 20:14 [ ADDR : EDIT/ DEL : REPLY ]