· 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로 이름을 바꾸어 사용하면 됩니다.

ID
Password
Join
You have a will that can be influenced by all with whom you come in contact.


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.0075 sec