프로그램/C/C++/OOC

OOC First Programming in Windows.....Cygwin Base

와이즈캣 2011. 3. 30. 20:48

난 일단 복잡한 건 딱 질색이다.
리눅스에서 OOC를 공부할 수도 있지만 현실에서 윈도우를 더 많이 쓰게 되므로
이 강좌는 윈도 기반으로 진행할 것이다.
Cygwin을 설치하면 리눅스 기반 툴들을 어느 정도는 잘 쓸수 있기 때문에 도전해 본다.
아이폰을 공부하기 전에 OOC를 먼저 공부해야 겠다는 생각을 먹은지 어언... 몇년인지 모르지만...
암튼 이제 끄적여 본다.

우선 Cygwin을 설치한다.
www.cygwin.com에서 무료로 설치 가능하다.


다운받고 설치하면 리눅스 처럼 독특한 온라인 다운 방식을 사용한다는 것을 알 수 있다.

아무튼 설치 중간에 반드시 체크해야 하는 옵션이 있다.

Devel에 install을 체크하는 것이다.

이것을 체크하면 대부분의 리눅스 개발 툴들을 사용해 볼 수 있다.

개인 취향에 따라 vi 편집기 등도 추가로 설치해 보면 된다.

난 nano랑 vim을 추가 했다.

취향이니 쓰지 않을 꺼면 설치하지 말기를 바란다. x11이나 web, database, audio 등등 내가 제거한건

의외로 많다. 아까도 말했듯이 이것저것 덕지덕지 있는거 별루다... ㅡㅡ

아무튼 선택이 끝나면 설치를 시작한다.

온라인 상으로 작동되고 선택한 만큼 다운 받아야 하니 촘 기다려야 한다.

설치가 완료되고 나면 바탕화면에 아이콘이 생긴다.

반드시 한번은 실행해야 하니 더블 클릭해서 실행해 본다.

위의 사진처럼 나오면 성공적이다.


난 dos 창을 즐겨 사용하므로 위 창은 이제 볼일이 없다.

dos에서 컴파일이 가능하도록(개발환경 구축)할 예정이다.

우선 인터넷에서 빵집을 검색해서 설치한다.

설치 후 아래 처럼 빵집 환경설정의 탐색기 메뉴에서 압축하고 상관없는 것들의 명령 프롬프트를 체크한다.

그러면 바탕화면에서 오른쪽 클릭을 하면 아래와 같은 메뉴가 추가되게 된다.

이 기능은 꽤 요긴하게 사용된다. 폴더 안에서 클릭한 후 명령 프롬프트를 사용하면 그 폴더 내에서

바로 도스창을 띄울 수 있다. 레지스트리를 건드리거나 등등 다른 방법도 여러가지가 있겠지만 본인은

이걸 선호한다. 귀찮다... 태클걸지 마시고 알아서들 사용하시길...


이걸로 끝이 아니다. 도스 창에서 리눅스 컴파일러 gcc를 치면 실행이 안된다. 당연히 cygwin과

환경 변수가 다른 문제가 있기 때문이다. 윈도우에 gcc의 경로를 추가해 준다.

내컴등록정보(시스템속성)->고급->환경변수->시스템변수->path를 더블클릭해서 제일 뒤에

세미콜론을 한 후 시그윈 설치 디렉토리(여기서는 C:\cygwin)의 bin 디렉토리 경로를 추가한다.

완료 후 도스창을 새로 띄우고 gcc를 테스트 해 본다.

gcc를 인식은 하지만 실행이 안된다.

이것은 리눅스 방식의 심볼릭 링크를 사용해서 그런 것이다.

수정해야 한다.


c:\cygwin\bin 디렉토리를 연다.

gcc.exe가 보이나 이는 시그윈이 만들어 놓은 심볼링 링크이다. 대충 따라가 보니 etc에 연결되고 거기서

alternatives 디렉토리로 연결되고 거기에 gcc 심볼링 링크가 또 나타난다.

결국 bin의 gcc4를 연결 시킨다. 이런거 보면 리눅스 개발자들은 정말 뛰어 나다. 상황에 따라 gcc3의

연결이 용이하도록 되어 있다. 아무튼 gcc4를 사용하는 것이 목적이므로 gcc4.exe를 복사하여 이름을

gcc.exe로 바꾼다. 기존의 gcc.exe는 백업해 놓는다(여기서는 gcc-ozsystem.exe로 바꿈).


여담으로 vi를 사용할 사람은 vi도 바꿔줘야 한다.

vim-nox.exe 얘가 vi이므로 얘를 복사해서 vi.exe로 하나 더 장만해 놓으면 개발환경 설정이 끝난다.

도스창에서 gcc를 쳐 보면 no input files라는 메시지를 출력한다.

완료다.


아래의 명령으로 테스트 프로그램을 작성해 본다.

notepad main.m으로 작성해도 된다.
추측했겠지만 ooc에서 확장자는 m을 사용한다.

위 소스를 작성한다.
ooc에서 사용되는 import문을 사용하였기 때문에 ooc 컴파일 테스트 소스로 충분하다.
#import <stdio.h>
 
int main()
{
      printf("ooc Testing....\n");
      return 0;
}


아래와 같이 컴파일 해 본다. 

gcc -o main main.m


다음과 같이 나오면 성공이다.


이번 연재는 여기까지다.
귀찮음이 몰려 온다....