본문 바로가기

별걸다하는 IT/개발환경 세팅&TIPS

C/C++ 개발환경 이클립스(eclipse CDT) 설치 및 빈프로젝터 생성, 컴파일러 MinGW vs Cygwin, 환경변수 설정

[ C/C++ 완전정복 목차 링크]

C/C++ 개발환경 이클립스 (Eclipse) 설치하기

안녕하세요~~ ㅎㅎ 

저번에는 비주얼 스튜디오를 설치해서 개발환경을 구축했는데요 ㅎㅎ

이번에는 이클립스를 이용해서 C/C++ 개발 환경을 구축해보도록 할게요 

 

C언어 개발자는 이클립스를 많이 쓰냐 비주얼을 많이 쓰냐 궁금해하시는 분이 더럿 있는데요 ㅎㅎ

사실 뭐... 자기가 어디 회사에 소속하게 되느냐에 따라 바뀌지 않겠어요?ㅎㅎ 

저희 회사만 해도 개발 부서에 여러 팀이 있는데, 같은 C언어인데도 A팀은 이클립스를 쓰고 B 팀은 비주얼을 씁니다.. 

근데 비주얼은 컴파일러를 별도로 신경안써도 돼서 대게 비주얼스튜디오를 더 많이 쓰는거 같긴 해요 ㅎㅎ (이클립스는 C언어 컴파일러를 따로 설치해줘야하거든요)

 

대신 이클립스만의 편리한 기능이 있기 때문에 다운받더라도 이클립스를 쓰는 곳도 있다는거. 

 

이클립스 설치 방법은 크게 두가지가 있습니다.

 

1. 처음부터 이클립스 CDT통합본 설치 

2. 자바이클립스가 있을 경우 CDT 플러그인을 설치하는거

 

아예 이클립스가 없다 --> CDT 통합본을 설치한다.

내가 기존에 자바 개발을 했었는데 그때 깔았던 이클립스가 있긴 있다, --> CDT 플러그인을 설치해서 C언어도 쓸 수 있게 한다. 

 

[사전 준비]

자바 (JAVA) 

넵.. 자바가 먼저 설치되어 있어야해요..ㅎㅎ 아래는 자바까는 법!

 

자바(JAVA) 다운로드 및 설치하기. 환경설정 세팅하는 법. jdk vs jre , java SE vs java EE 차이점, jdk 13 설치

[목차] 1. JAVA SE, JAVA EE, JAVA ME 차이점 2. JDK vs JRE 3. JDK 다운로드 및 설치 4. 자바 환경설정 잡기 5. 잘 설치되었는지 콘솔로 확인하는 법 안녕하세요 ㅎㅎ 여러분~ 오랜만이예요 오늘은 JAVA 언어를..

jhnyang.tistory.com

1. 이클립스 CDT 통합본 설치로 개발환경 구축하기

CDT 통합본 설치 방법부터 알아볼게요.

 

이클립스 CDT 다운로드 링크

https://www.eclipse.org/cdt/downloads.php

들어가면 위 그림과 같이 여러 버전들이 나오는데, 가장 최신버전을 다운받아 주도록 합시다.

최신버전일수록 안정성이 보증되지 않았겠지만 우리가 뭐 실운영을 하는것도 아니고 연습을 위한 정도로만 사용할거니까요 ㅎㅎ

Eclipse package: Eclipse C/C++ IDE for 2019-12 룰 눌러줍시다.

 

고럼 여렇게 다운로드 링크가 걸린 창이 나와요 ㅎㅎ 전 64비트 윈도우 운영체제니까 오른쪽에 있는 Windows 64-bit를 눌러줍시다.

다운로드 버튼이 또 나와요 ㅎㅎ 이걸 눌러야 이제 다운로드 시작.

다운로드 되면서 기부하라는 화면이 나오는데 기부는 선택일 뿐, 공짜이니 그냥 다운로드 되는거 기다렸다고 압축 풀어 사용하면 됩니다.

다 받았으면 압축을 풀어주세요

eclipse를 더블클릭해서 눌렀는데 만약 아래와 같은 에러창이 뜨면서 실행이 안된다면 자바가 안깔려있는 것..

 

자바 없다

요렇게 알림창이 뜹니다. ㅎㅎ 자바를 깔았다면 cmd창에서 자바환경변수가 제대로 잘 잡혀있는지 한 번 더 확인해주세요.

 

자바 설치 방법은 아래 포스팅을 참고해주세요

https://jhnyang.tistory.com/224

 

자바(JAVA) 다운로드 및 설치하기. 환경설정 세팅하는 법. jdk vs jre , java SE vs java EE 차이점, jdk 13 설치

[목차] 1. JAVA SE, JAVA EE, JAVA ME 차이점 2. JDK vs JRE 3. JDK 다운로드 및 설치 4. 자바 환경설정 잡기 5. 잘 설치되었는지 콘솔로 확인하는 법 안녕하세요 ㅎㅎ 여러분~ 오랜만이예요 오늘은 JAVA 언어를..

jhnyang.tistory.com

자 만약 아무 문제가 없다면, 아래 그림처럼 이클립스가 뜨게 됩니다.

그 다음엔 워크스페이스를 지정하라는 알림창이 뜨는데요.

앞으로 내가 뭔가 프로젝트를 만들때마다 저장하는 공간이라 생각하면 돼요.

기본은 이렇게 잡혀있습니다. 근데 저는 D드라이브를 쓰고 싶어서.. 폴더를 변경해줬어요.

편하신 폴더로 잡으시면 됩니다. 그리고 Lauch 를 클릭하면 드디어! 잘 설치된 이클립스 화면을 볼 수 있어요 ㅎㅎ

저기 조그만한 아이콘 보면 restore라고 뜹니다. 눌러주면, 작업하기 편한 view로 이동할 수 있어요. 쓸데 없는 welcome창을 닫아주면 아래와 같이 됩니다. C언어 테스트를 위한 간단한 프로젝트를 만들어볼까요?

'Create a new C or C++project'를 누르기 전에!! 까먹을뻔 했네요 ㅎㅎ 이클립스CDT는 컴파일러 별도 설치가 필요합니다. 컴파일러를 설치하고 옵시다! 

2. 컴파일러 CYGIN VS MINGW 비교

앞에서 언급했었든 이클립스 CDT는 컴파일러를 별도로 설치해줘야 해요 ㅎㅎ 대표적으로 많이 까는게 CYGIN과 MINGW가 있습니다.

cygin과 mingw의 차이는 무엇일까?? 간단하게 비교만 해보고 자세한건 나중에 포스팅을 따로 빼서 알아보도록 해요

cygin 시그윈

참조: stackoverflow

시그윈은 유닉스 기반 프로그램들을 윈도우에 훨씬 쉽게 이식하기 위해 만들어졌어요. 유닉스 시스템과 POSIX에서 제공하는 작은 디테일까지도 에뮬레이팅 할 수 있게 해줘서 호환성을 높인 케이스죠. 

따라서 윈도우즈 기반으로 GNU/Unix 기능을 가상으로 구현하고 리눅스 쉘이랑 완전 똑같이 동작합니다.

리눅스와의 호환성이 매우 뛰어나고 기능이 빵빵한만큼 당근 크기가 크고 무겁습니다. 사실 얘 1.3.3버전에서 분리된게 MinGW예요. 뭔가 목적이 다르니까 분리가 됐겠죠?

시그윈은 완전한 POSIX 레이어를 윈도우 상에서 제공하는 데 초점을 두고 호환성이 필요한 부분은 성능을 포기합니다.

즉 호환성 > 성능

한마디로 시그윈은 좀 오래된 애라 한물 갔습니다. 아래 사이트는 다운로드 할 수 있는 홈페이지예요

https://www.cygwin.com/

 

Cygwin

Cygwin Get that Linux feeling - on Windows This is the home of the Cygwin project What... ...is it? Cygwin is: a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows. a DLL (cygwin1.dll) which

www.cygwin.com

 

MinGW

mingw은 시그윈 1.3.3버전에서 분기된 프로그램예요. 시그윈이 뭔가 단점이 있으니까 분리됐겠죠? 시그윈에서 불필요한 기능을 다 빼버려서 시그윈가 다르게 가볍다는 특징이 있습니다. 뭐든지 기능을다 때려넣으면 무겁고 성능이 떨어지잖아요 이를 가볍게 보완한게 mingw예요. 그래서 MinGW에는 필요한 gcc와 윈도우에의 어떤 툴들만 제공하고 Unix와의 호환성을 우선하지 않아요. 즉 윈도우API를 사용하고 POSIX API는 사용 안함! 

MinGW는 시그윈과 다르게 POSIX API를 제공하지 않기 때문에 시그윈으로 컴파일할 수 있는 유닉스 응용 프로그램들을 컴파일 할 수가 없을 수 있습니다. 한 예로 특정한 POSIX 기능을 요구하는 프로그램일 경우 컴파일이 안되겠죠.

MinGW는 마이크로소프트의 비주얼C++컴파일러와 링킹/메이크 도구들의 대체제로써 추천되고 있습니다. 

https://osdn.net/projects/mingw/releases/

 

Download File List - MinGW - Minimalist GNU for Windows - OSDN

Download File List - MinGW - Minimalist GNU for Windows #osdn

osdn.net

 

차이점 요약:

  MinGW Cygwin
GNU 개발 툴 제공하느냐 (GCC, etc) OK OK
POSIX 툴 완전 제공(리눅스 배포판과 유사) NO OK
네이티브 윈도우 API 어플리케이션 컴파일 가능 여부 OK OK
POSIX API 어플리케이션 컴파일 가능 여부 NO OK
설치용량 MB단위로 가벼움 GB단위로 무거움

우리는 GNU 개발툴 정도만 있으면 충분하므로 MinGW를 설치해 사용하도록 할게요. 

 

3. 컴파일러 MinGW 설치하기

위 MinGW 다운로드 홈페이지로 들어가주세요

저기서 다운받아도 되고 여기서 다운받아도 됩니다.

https://sourceforge.net/projects/mingw/

 

MinGW - Minimalist GNU for Windows

Download MinGW - Minimalist GNU for Windows for free. A native Windows port of the GNU Compiler Collection (GCC) This project is in the process of moving to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the G

sourceforge.net

최신업데이트가 2018년도네요 

install 클릭

기본 디렉터리는 C네요 ㅎㅎ 저는 역시 D로 변경.. 

그리고 desktop 아이콘은 필요 없어서 저 부분은 체크 해지해줬답니다.

저는 여기다가 설치ㅎㅎ 나중에 시스템변수 세팅할 때 요 설치 폴더 위치를 알아야해요. 기억해둡시다.

다 완료되었으면 Continue.그럼 다운로드가 시작돼요. 기다려줍시다. 다운로드 게이지 바가 100퍼센트가 되면 Continue를 눌러주세요.

installation Manager

고럼 이렇게 설치매니저 창이 뜹니다.

이렇게 많은 옵션 중에 뭘 깔아야 하느냐...

설치항목

요렇게 Basic Setup에서

ming-developer-toolkit, mingw32-base, mingw32-gcc-g++, min32-gcc-objc, msys-base

이렇게 다섯개를 체크해줍시다.

gcc는 빼먹지 말고 꼭 체크해주셔야 해요. 참고로 체크 안한 ada와 fortran은 아주아주 오래된.. 지금은 거의 쓰이지 않는 옛날 언어입니다.

체크하고 installation 탭에 Appy Changes 눌러주기

Apply 누르기

다시 Apply 누르면 설치가 쭈우욱 진행됩니다. 이렇게 하면 모든 설치는 완료됩니다.

컴파일러가 제대로 설치 되었나 확인해볼까요?? 

하지만 Dos창에 gcc -v 명령어를 쳐보면 에러뜸.. 왜그러냐! 환경변수 세팅이 안되어 있어서 그래요. 얘도 자바 설치했을 때 처럼 환경변수 설정을 해줘야 합니다.

 

4. MinGW 환경변수 세팅하고 cmd창에서 확인하기 

시작에 검색하면 환경변수 바로 나오죠 ~

'환경 변수' 라고 되어있는 부분을 들어가주세요. (자바 설치하고 나서 환경세팅할 때랑 동일해요)

밑에 시스템 변수 부분에서 'Path'부분을 찾아서 편집을 눌러주세요.

새로 만들기 누른 후에, 좀 전에 설치한 '설치폴더\bin\'을 추가해줍시다.

명령어 커맨도스 창 가서 다시한번 'gcc -v'를 쳐봅시다.

성공적 gcc 버전 확인 가능

아까 'gcc'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다' 뜬 것과는 다르게 gcc target과 버전 정보가 뜨게 됩니다. 

 

5. 프로젝트 커맨드 창과 이클립스에서 실행해보기 (gcc vs g++) 

커맨드창을 열어서 먼제 테스트해봅시다.

메모장에다가 아래처럼 작성하고 .cpp확장자로 저장해줬어요.

#include <iostream>
using namespace std;
int main()
{
   cout<<"HELLO\n";
   return 0;
}

 이제 이걸 프롬프트에서 먼저 테스트해볼거예요. 저는 해당 폴더를 바탕화면에다가 저장해줬는데, 아무 폴더에다가 저장하셔도 됩니다. 다만 해당 경로를 알고 있어야해요.

cmd창에다가 해당 경로로 이동 후 'gcc main.cpp' 명령어를 쳐봅시다.

에러뜨는 것을 볼 수 있어요. 

하지만 'g++ main.cpp' 명령어를 치면 컴파일이 제대로 되고 a.exe라는 실행파일이 튀어나오게 됩니다!

여기서 알 수 있듯이 옵션없이 gcc명령어로만은 C언어 소스파일만 컴파일할 수 있어요. C++소스파일은 g++명령어를 치면 컴파일이 성공적으로 완료됩니다.

a.exe를 실행시켜보면 HELLO가 제대로 출력되는 것을 확인할 수 있습니다.

 

이제 이클립스에서 테스트 해볼게요

C언어를 하든 C++을 하던 상관없어요.
컴파일러는 설치한 MinGW를 선택!
저 망치 누르면 실행됩니다.

C++ 실행시켰더니 제대로 출력되네요.

C언어 파일을 작성해 실행 테스트해봤습니다. 컴파일은 Ctrl+B, 실행은 Ctrl+F11예요.

에러나시는 분은, 시간차를 좀 둔 뒤에 테스트를 다시 해보면 정상적으로 실행될거예요. :)

포스팅이 너무 길어져, 플러그인은 따로 빼서 정리해야 될 것 같아요. 오늘은 여기까지입니다. 도움이 되셨다면 공감 or 댓글 or 광고보답은 어떤가요?ㅎㅎ 오늘하루도 건강조심하고 좋은하루 보내세요 

 

  • gcd 2021.04.28 07:08 신고

    "컴파일러는 설치한 MinGW를 선택!" 에서 "저 망치 누르면 실행됩니다." 사이에 뭘 해야되는건가요?

  • iamplacard 2021.05.10 14:18

    bin에 대한 환경 설정은 했었는데..
    error message 가 나오네요. "w32api.h: No such file or directory"
    다시 설치 해야 하나요?

    • iamplacard 2021.05.10 15:12

      해결 하였습니다.
      최신gcc 인 gcc 9.2.0 으로 깔았더니 MinGW/mingw32/include 가 없어서 여기 저기 찾다가 ...

      gcc 6.3.0 을 찾아 다시 깔았더니 MinGW/mingw32/include 가 깔려 있고 compile 및 실행 하는 데 문제가 없습니다.

      command line 과 eclips 에서 모두 잘 돌아 가는 군요.. 감사합니다.

    • IT 양햄찌(jhnyang) 2021.05.10 18:03 신고

      해결되었다니 다행입니다. mingw외에도
      msys2를 이용해 컴파일러를 설치할 수 있는데, 아래 포스팅에서 gcc 버전 10을 포함해 include path까지 모두 받으실 수 있습니다. 참고: https://jhnyang.tistory.com/445

  • 화성이 2021.05.19 14:45

    MinGW 똑같이 D드라이브에 설치했는데 왜 이클립스 프로젝트를 만들때 왜 Toolchains에 MinGW가 안나올까요??ㅜㅜ