· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Eclipse/CDT

이 페이지는 Eclipse 에서 CDT 를 이용한 C/C++ 빌드 환경을 만드는 방법에 대한 페이집니다.


1. 리눅스에서 환경 만들기


1.1. 설치

  • yum을 이용한 패키지 설치
$ yum install eclipse-cdt


2. 윈도우에서 환경 만들기


 eclipse 3.3(Europa) 버젼부터는 C/C++ 을 위한 eclipse 버젼을 바로 제공해줍니다. 기본은 같지만 이미 필요한 플러그인을 설치해놓은 버젼들을 다운받기 쉽게 용도별로 다운로드 하게 해줍니다. 즉, 지금은 간단히 'Eclipse IDE for C/C++ Developers' 를 다운받으면 아래 설명에 나오는 플러그인을 다운받을 필요없습니다.

  • eclipse 를 띄운 후 메뉴에서 Help -> Software Updates -> Find and Install... 을 선택합니다.
eclipseNewFeatureInstall.png
[PNG image (6.74 KB)]
  • 새로 뜨는 다이얼로그에서 Search for new features to install 을 선택합니다.
eclipseNewFeatureInstall2.png
[PNG image (12.63 KB)]

eclipseCDTInstalled.png
[PNG image (15.68 KB)]

  • 실제로 컴파일이나 빌드를 시도하면 에러가 날 수 있는데, 이 경우는 윈도우용 컴파일러를 제대로 찾지못해서입니다. 여기서는 MinGW 을 이용한 gcc 를 이용하도록 합니다.
  • http://sourceforge.net/project/showfiles.php?group_id=2435 에가서 Current 중 최신의 MinGW 을 받습니다 - 문서 작성 시점 기준해서 Download MinGW-4.1.0.exe 을 받습니다.
  • 2006-05-10 현재 MinGW-5.0.2.exe이며, 설치시 선택한 옵션에 따라 설치할 패키지를 내려받아 설치합니다. -민우-
  • MinGW 을 full installation 합니다(MinGW-5.0.2.exe에서 g++와 make 만 선택하면 됩니다 -민우-).
  • 그리고 윈도우 환경변수 중 PATH 에 설치된 MinGW 폴더 밑의 bin 을 추가합니다.

eclipseMinGWPATH.png
[PNG image (42.75 KB)]

  • eclipse 를 닫고 새로 띄웁니다.
  • C/C++ 프로젝트를 만들 때, Standard Make Proejct 를 선택하고, Make Builder Tab 에서 Build Command 를 mingw32-make -k 로 해줍니다. mingw32-make 는 MinGW 가 설치된 폴더 밑의 bin 에 있는 실행 파일명입니다. 이미 만들어진 프로젝트라면 Project 의 등록정보에서 수정할 수 있습니다. - cdt-3.0.2에선 속성 대화 상자의 모양새가 많이 바뀌었습니다. 그에 맞게 문서 개정이 되어야 할 것 같습니다. -민우-

eclipseBuildCommand.png
[PNG image (14.33 KB)]



  • 빌드를 해봅니다.

2.1. gdb 를 이용해 debugging 환경 만들기


위의 순서에 따라 프로그램에 대한 컴파일, 빌드, 실행이 가능하다면 gdb 를 이용한 디버깅은 간단하다. http://www.mingw.org 에 가서 Download 에 간 후 gdbX.X.X.exe 라는 설치 파일을 받아서 MinGW 설치 폴더 된 곳에 깔면 mingw32-make.exe 가 있는 곳에 gdb.exe 파일이 설치된다. 그런 후 eclipse 를 이용해 디버깅을 하면 된다.
-- 위에서 MinGW를 full로 설치하면 gdb.exe도 같이 설치 됩니다 -Gomdori
-- MinGW 4.1.1 의 경우 make 와 gdb 모두 따로 설치해야 하더군요. -Reiot

2.2. win32 hello world 테스트하기


다음의 코드를 main.cpp 라는 파일에 쓴 후 빌드해봅시다.

#include <windows.h>

int WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
        MessageBox(NULL, "Hello in EclipseCDT", "EclipseCDT", MB_OK);
        return 0;
}

2.2.1. 윈도우 프로그래밍시에 console 창 없애기


아래 그림처럼 링커 옵션에 -mwindows 를 넣어주면 됩니다.

eclipseCDTForWindowsProgramming.png
[PNG image (19.56 KB)]

2.2.2. newline warning 없애기


C99 등의 표준에서 소스 파일의 제일 마지막 줄에 빈 줄이 있어야 한다. 만약 없으면 컴파일러가 경고를 내는데, 다음과 같은 옵션을 켜서 이 경고를 막아보자.

메뉴 중 Window -> Preferences -> C/C++ -> Editor -> Ensure newline at end of file when saving 를 체크한다. 

2.3. FAQ



Q : 앞의 방법대로 했는데도 빌드 오류가 납니다.

A : 윈도우의 시작 -> 실행 -> cmd.exe 로 커맨드창을 띄운 후 커맨드창에 mingw32-make 라고 친 후 엔터를 쳐서 찾을 수 없는 파일이라면 PATH 지정이 잘못된 경우 입니다. PATH 를 제대로 설정해주지 않았거나, 혹은 Build Command 를 제대로 수정하지 않은 지 확인해보세요.

Q : 컴파일은 되는데 콘솔에 출력이 되지 않습니다. 예:printf("hello")

A : 윈도우와 맥에서 버전 3.0.1까지의 CDT에 심각한 버그가 있습니다. 3.0.2에서 고쳐질것이라고 합니다. (06년2월15일 현재 확인해보니 3.0.2 릴리즈됐습니다) 3.0.1에서 되게 하려면 다음 방법이 있습니다.

- (설치되어 있지 않다면) CDT 3.0.1을 설치한다.

- (실행되어 있다면) 이클립스를 종료한다.

- http://max.berger.name/tmp/cdtcore.jar 이파일을 eclipse\plugins\org.eclipse.cdt.core_3.0.1 이 디렉토리에 덮어쓴다.

- 이클립스를 다시 시작한다.

Q : 디버깅을 시작하면 main 함수에 브레이크 포인트를 걸어도 그 전에 오류가 나면서 제대로 디버깅이 되지 않습니다.

A : mingw 의 GDB 를 RC 나 Beta 가 아닌 Current 버젼을 깔아보세요.


- 출처 : https://bugs.eclipse.org/bugs/show_bug.cgi?id=102043

** 다운로드 해보면 파일 이름이 cdtcore.zip로 되어 있으니 cdtcore.jar로 바꾸세요.

아직 조금 부족한데 차차 채워나가도록 하겠습니다. 다른 분들도 많이 도와주세요 ^^



문서 만들기 시작한 이 : 김진욱(zelon) - http://www.wimy.com


http://bbs.kldp.org/viewtopic.php?t=53592 에 제가 비슷한 주제로 글을 올려두었습니다. managed makefile project를 쓰려면 mingw32-make.exe를 make.exe로 이름을 바꾸어 사용하면 됩니다.



sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-05-15 09:37:24
Processing time 0.0100 sec