예전에  MSYS를 설치하는 법을 적어 둔 글이 있습니다. (  [Posix 환경구축]msys 설치(old)  ) 그 글을 old 로 만들어 두고 새 글을 쓰겠습니다. 그 글 자체도 그리 오래된 글은 아니라 새롭게 글을 적어 가면서 혹시나 모르게 바뀌는 부분이 있을 수 있어 적어 놓겠습니다. 또, 글이 두개면 설치시 모르는 것이 나오더라도 찾아 볼 수 있는 문서가 2개가 되는 장점도 있는 것 같습니다..

이 번 설치도 MinGW 가 설치되어 있는 상태에서 진행하겠습니다. 이 MinGW 설치법은 제 블로그의 다른 글을 참고해주세요.(그 설치법도 2개의 글이 있습니다. )
우선 프로그램부터 다운 받아야 합니다. 다음 링크를 따라 갑니다. http://sourceforge.net/project/showfiles.php?group_id=2435 여기서 MSYS: Minimal System 를 다운 받습니다. 제가 다운 받은 프로그램 버전은 March 16, 2004 에 나온 msys-1.0.10  입니다. 이 중에서도 우리에게 필요한 MSYS-1.0.10.exe 파일을 다운 받겠습니다. 
 
 프로그램을 설치해 봅시다. 저는 C:\tools\msys 라는 경로를 새로 만들어 주어서 C:\tools\msys\1.0 에서 \1.0을 지우고
설치했습니다. (개인적으로 디렉토리 이름이 긴 것을 안 좋아해서 1.0 이라는 버전명을 지웠습니다. )
 설치가 끝날 쯤이면 콘솔창이 뜨면서 다음과 같은 문구가 나오내요.
-------------------------------------
This is a post install process that will try to normalize between
your MinGW install if any as well as your previous MSYS installs
if any. I don't have any traps as aborts will not hurt anything.
Do you wish to continue with the post install? [yn ]
------------------------------------------------------
예전에 yes라고 입력했었기 때문에 y라고 입력해 봅니다. (MinGW 설치나 설정을 계속 할 거냐고 묻는 것 같군요.)  

y를 입력하면 새로운 문구가 나옵니다.
--------------------------------------
Do you have MinGW installed? [yn ]
--------------------------------------
저의 경우 MinGW가 설치되어 있기 때문에 y를 선택했습니다.

------------------------------------
Please answer the following in the form of c:/foo/bar.
Where is your MinGW installation?
-----------------------------------
저의 경우 C:/tools/MinGW 라고 입력했습니다. \대신 / 를 사용해서 입력합니다. 여기서 잘못 입력해도 나중에 설정을 고칠 수 있으니 걱정하지 말고 입력합니다.
 역시 이번에도 오류가 발생했군요.. 어떻게 입력하라는 것인지 모르겠군요.. 설정을 고쳐야지 별수 없겠내요..
어째든 계속 엔터... 그러면 설치가 끝납니다.

 이렇게 해서 우 선 설치 끝났습니다. 다음은 설정을 해야합니다
.
설치한 디렉토리에 etc 라는 디렉토리가 생겼습니다.  이 안에 fstab.sample 라고 있는데 만일을 위해 이 파을을 남겨두기위해 이 파일을 복사한후, 이름을 fstab 이라고 고칩니다. (확장자는 없습니다.) 이 파일안에
#Win32_Path Mount_Point
c:/mingw /mingw
c:/ActiveState/perl /perl
라고 쓰여진 부분이 있습니다. 앞에 있는 c;/mingw 대신에 실제로 minGW 가 있는 디렉토리를 적어줍니다. 
c:/tools/MinGW /mingw
같이 고쳐줍니다. 다시말하지만 \ 대신 / 를 집어 넣어야 합니다.
( perl 이 깔려 있으면 이 부분에 대해서도 설정 할 수 있는 것 같군요.. 혹시 다른 쪽 python 같은 것도 될려나??)

이제 설정도 끝났습니다. msys.bat 프로그램을 이용해서 리눅스 셀을 이용할 수 있습니다. 아직 부족한 툴이 많으므로 모든 기능을 사용할 수 있는 것은 아닙니다.
MSYS: Supplementary Tools 와 MSYS: System Builder 를 더 설치하면 부족하나마 리눅스 셀을 맛 볼 수 있습니다. 소스포지에 올라오는 posix 라고 운영체제가 써 있는 프로그램에 대해서도 컴파일이 일부 가능합니다. (다 컴파일 해 보지 않아서 다 되는지는 모르겠군요. 저의 경우 꽤나 유용하게 사용하고 있습니다. )

제목이 연동이라고 해서 너무 거창한 것 같군요. 이클립스는 자바용 컴파일러이기 때문에 다른 언어에 대해서는 컴파일 능력이 없습니다. (솔직히 이 문장도 확실을 못하겠군요. 이클립스 새 버전에서 C, C++ 개발용 컴파일러는 어떻게 구성되어 있는지 모르겠군요. ) 그래서 이클립스의 기본기능과 이클립스를 확장할 수 있게 해주는 플러그인, 그리고 다른 C, C++ 컴파일러를 이용해서 C, C++프로그래밍을 할 수 있습니다.
  
 이 때 사용되는게 CDT라고 불리는 이클립스 플러그인를 이용합니다. 그리고 C, C++ 컴파일러는 MinGW라고 불리는 윈도우즈에서도 사용가능한 GCC계열의 컴파일러 입니다. (MinGW에 대한 설치는 제 다른 글을 참조하시기 바랍니다. )


 제가 사용한 이클립스 파일은 eclipse-SDK-3.3-win32.zip 입니다. 이클립스 class 버전 3.3 버전을 다운받았습니다.

 이클립스 사용법은 따로 설명하지 않겠습니다. 다만, 한가지 아셔야 할 것은 이클립스는 따로 컴파일 버튼이 없다는 것입니다. 파일을 저장하는 순간 바로 컴파일 됩니다. 그 결과를 실행할 수 있는 RUN 버튼이 있습니다.


 이제는 CDT를 설치해야 합니다. CDT( http://www.eclipse.org/cdt/ ) 홈페이지에서 다운로드(http://www.eclipse.org/cdt/downloads.php)에서 자신의 이클립스에 맞는 버전의 링크를 알아냅니다. (이클립스에서 플러그인을 다운받을 필요없이 링크주소를 따로 저장하여 나중에 자동으로 다운받아 설치하는 방식을 이용합니다. 다시 말해 다운로드가 필요 없습니다. ) 
  제가 사용해야 하는 버전은 CDT 4.0.x 버전으로 링크주소가 http://download.eclipse.org/tools/cdt/releases/europa 라고 나와 있습니다. 이 주소를 마우스를 이용해 복사해 둡니다.

 다시 이클립스로 돌아가서 Help->Software Update -> Find and Install... 을 선택합니다.
 



   그러면 다음과 같이 Search for new features to install 을 선택합니다.


  선택후 Next를 누르면 다음과 같은 창이 보입니다. 여기에서 New Remote Site...을 클릭합니다.
  


 다음과 같이 새로운 이름과 url을 적는 창이 뜹니다. 여기에 Name 을 CDT로 url을 앞에서 찾은 자기 이클립스에 맞는 CDT 주소를 적어줍니다.

  

  그 다음 OK를 선택합니다. 그러면 새로운 항목으로 CDT가 추가 되어 있고 체크되어 있습니다.

 여기서 Finish를 클릭합니다.

 그러면 자동으로 Update Manager를 실행합니다. 
 
 이 결과 다음과 같은 창이 뜹니다.
 여기서 CDT를 체크하고 디폴트로 선택되어 있는 부분을 그대로 두고 Next를 클릭합니다.

 라이센스 창이 뜨는데, 당연히 accept를 선택하고 Next ..

 그 다음 마지막으로 Finish를 클릭합니다.

 그러면 자동으로 다운받아 설치합니다.


 설치 중간에 예기치 않은 에러도 발생하내요...

  예젠에는 볼 전이 없던 녀석들인데... 어째든 Install  All 을 선택했습니다.

 마지막으로 OK를 눌러서 이클립스를 재 실행했습니다. 이제 설치가 끝났습니다.


 이번에 설치하면서 알게 되었는데 요즘 것은 자동으로 MinGW의 위치를 잡는 것 같습니다. 예전에는 일일이 MinGW위치를 설정해 주었는데, 이번 버전은 자동으로 그 위치를 잡내요... 앞의 Verification 문제도 그래서 발생하는 같기도 하고... 그리고 MinGW 대신 Cygwin 도 대용으로 사용 가능한 것 같군요....

 어째든 다행히 해야 할 일이 줄어 들었습니다. 이제 예제 프로그램을 출력해봅시다. 

 이클립스에서 File -> New를 선택하면 C Project 와 Cpp Project 가 바로 보이는 경우가 있으면 이 것을 선택하고 안 보인다면 Other를 선택합니다. Other를 선택하셨다면 다음과 같은 창이 뜹니다. 
 여기에서 C와 C++ 폴더를 클릭하면 하위구조에 C Porject 나 C++ Project가 있습니다. 이 것을 선택해 줍니다.



 이제 프로젝트 이름을 적어라는 창이 뜨는데 적당히 적어줍니다. 저는 CTest 라고 이름을 정했습니다. 그리고 다음과 같이 MinGW를 선택해 줍니다.
(Cygwin을 한 번 선택해 보았는데 Cygwin이 설치가 안 되어 있어서 나중에 오류가 뜨내요...)

 그 다음 Finish 를 선택합니다.
 
 그러면 왼쪽 창(Project 창)에 다음과 같이 Project와 include 구조가 보입니다. (제가 설치한 MinGW가 C:\tools\MinGW에 있어 저렇게 보이는 것이니 여러분의 경우는 다르겠죠..)
 왼쪽 창에서  CTest 를 선택한 후, 마우스 오른쪽 버튼을 눌러줄니다. New-> Source File 을 선택한 후  적당한 파일 이름을 정해줍니다. 저는 main.c 라고 정했습니다.
 그 후, 다음과 같이 입력합니다.
===================
#include <stdio.h>

int main()
{
printf("Hello, world");
return 0;
}

====================
(파일 끝에 엔터로 끝나야 합니다. 안 그러면 에러가 생깁니다. )
 그리고 저장합니다. 앞에서 설명했듯이 이클립스는 따로 컴파일 버튼이 없습니다. 그래서 저장후 build 버튼 (망치 같이 생겼습니다. )을 클릭합니다. 그리고 다음과 같이 생긴 run 버튼을 누르면
 아래창에  Hello, world 가 뜨면 성공입니다.


 제가 쓴 글에서 가장 그림이 많은 글을 적은 것 같군요.... 읽어 주셔서 감사합니다.  
 이클립스 CDT에 대한 다른 정보를 원하신다면  
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/eclipse/documents/CDT

http://wiki.kldp.org/wiki.php/Eclipse
에 있습니다. 이 사이트는 제가 처음 CDT를 접할 때 참고한 문서인데, 제가 글을 쓰는 시점에는 예전 버전을 설명해 놓았내요...
위키의 특성상, 언젠가 누군가 이 글을 읽는 시점에는 업그레이가 될 수 도 있기 때문에 링크주소를 적어 둡니다.
기본적인 doxygen 이용 방법은 kldp를 참조하는 게 좋을 것이다.   http://wiki.kldp.org/wiki.php/Doxygen   이 문서도 그 문서를 참고로 만들어졌다. 

 파이썬 주석을 doxygen 에서 인식할 수 있게 하려면 다음과 같이 한다. 다음은 doxygen 설명서에 나오는 예제이다.
==========================================
"""@package docstring
Documentation for this module.

More details.
"""

def func():
"""Documentation for a function.

More details.
"""
pass

class PyClass:
"""Documentation for a class.

More details.
"""

def __init__(self):
"""The constructor."""
self._memVar = 0;

def PyMethod(self):
"""Documentation for a method."""
pass
===============================================
 잘 보일지는 모르겠지만 파이썬 주석으로 사용되는 연속된 3개의 큰따옴표(""")주석을 이용했다. 다른 언어와 달리 이름 밑에 주석만 달아놓으면 끝이다. 그리고 내가 자주 사용하는 방법은 다음이다. 같은 작용을 하지만 다른 주석을 이용했다.

=================================================
## @package pyexample
# Documentation for this module.
#
# More details.

## Documentation for a function.
#
# More details.
def func():
pass

## Documentation for a class.
#
# More details.
class PyClass:

## The constructor.
def __init__(self):
self._memVar = 0;

## Documentation for a method.
# @param self The object pointer.
def PyMethod(self):
pass

## A class variable.
classVar = 0;

## @var _memVar
# a member variable
===========================================

쉽게 이해 할 수 있으리라 생각된다. 기본적으로 시작을 ## 을 이용하되 연속된 주석은 샵 하나(#)만 이용핸서 나타냈다. 위의 것과 다른점이 있다면 주석이 붙는 위치이다. doxygen에 주석이 드러나지 않게 하려면 # 하나만 사용하면 된다.


다음으로 man 파일을 생성해 보겠다. 
다시 말하지만 kldp 문서를 잘 참고하기 바란다. python 이므로  Wizard - Mode 에서 꼭 OPTMIZE OUTPUT JAVAt을 선택해야 한다. (메뉴얼이 이렇게 나와있다. ) 

 그 이외는 별다른 특이 사항은 없다. 다만 파이썬의 경우 파일 자체를 utf-8로 되어 있는 경우가 있다. 이 경우 생성된 html 문서가 깨져보일 수 있다. 인코딩을 utf-8로 바꾸어서 보면 상관 없지만 조금 불편하다. 그래서 head 자체를 바꾸는 옵션을 사용하면 편리하다.
 다음과 같은 내용을 같은 header.html 파일을 만든다.
=====================================================================
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>DBS: Data Structures</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
=====================================================================
다음에 Doxygen에서 Step1 -> Expert 버튼을 클릭한다. 
새로운 대화창에서 HTML 탭을 선택한 후 HTML_HEADER 에 위에서 만들었던 header.html 파일의 경로를 적어준다. 
그리고 다시 문서를 생성하면 된다.