본문 바로가기
  • 쓸쓸한 개발자의 공부방
C++

c++공부 준비 : 컴파일러 (g++), dev c++ 툴 설치

by 심찬 2021. 7. 28.

c++공부를 위해 기본적으로 컴파일러가 필요합니다.

결론부터 말하자면 컴파일러를 설치하기 보다는 최신 컴파일러를 제공하는 툴을 설치하시길 추천드립니다.

c++ 공부를 위해 저는 Dev C++를 설치해 사용할겁니다. (설치 방법은 아래로 쭉쭉 이동해주세요)


 

컴파일러에 따라 (g++, cl) 다른 결과를 내는 경우가 있습니다.

 

vc++, vs code, xcode, eclipse 등 통합 툴에서 이미 컴파일을 제공하고 대부분 툴에서 제공하는 컴파일러를 활용합니다. 컴파일 마다 컴파일 방식이 다르고 공부하는 과정에서 아래 두 개의 컴파일러를 실행해 보고 결과를 비교해보면서 그 차이를 확인해 볼 수 있습니다.

 

g++ 컴파일러 사용시 컴파일 (추천 커멘드)

  • g++ hello.cpp -std=c++1z 
-std=c++11  C ++ 컴파일에 C++ 11 을 사용하겠다는 의미
-std=c++1z  C ++ 컴파일에 C++ 17 을 사용하겠다는 의미

그래서 한 번 테스트 해봤는데요... 제가 사용 중인 시스템에서는 11버전은 지원을 하는데 그 이후 버전은 지원하지 않나봅니다.

~/build_test()% g++ -std=c++11 hello.cpp 
~/build_test()% g++ -std=c++1z hello.cpp 
g++: error: unrecognized command line option ‘-std=c++1z’
~/build_test()% g++ -std=c++17 hello.cpp 
g++: error: unrecognized command line option ‘-std=c++17’
~/build_test()% g++ -std=c++14 hello.cpp 
g++: error: unrecognized command line option ‘-std=c++14’
~/build_test()% 

 

g++ version 확인 방법

% g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

gcc 버전이 낮아 C++17 버전이 지원이 안되는 거네요. g++ (gcc) 높은 버전이 필요합니다.

  • C++17 is not supported by GCC v4.8.
  • C++17 is not supported by GCC v4.9.
  • C++17 is supported by GCC v5.0,  GCC v6.0,  GCC v7  (-std=c++1z)
  • C++17 is supported by GCC v8   (-std=c++17) (-std=c++1z은 지원안됩니다)

 

(참고) c++ 상위 버전 사용을 위해서는 mingw 설치가 필요합니다.  

<통합 툴을 사용하면 해당 과정은 하지 않아도 됩니다.>

 

https://nuwen.net/ => c++ => MinGW Distro => mingw-17.1-without-git.exe(45.1MB) 다운&설치

 

News - nuwen.net

News - nuwen.net So high, so low, so many things to know News 12/11/2019 - Version 17.1 of my MinGW Distro is available. 11/27/2019 - Version 17.0 of my MinGW Distro is available. 12/30/2018 - Version 16.1 of my MinGW Distro is available. 7/4/2018 - Versio

nuwen.net

 

 


 

cl 컴파일러 사용시 컴파일 (추천 커멘드)

  • cl    hello.cpp /std:c++latest /nologo /EHsc /Za /MD
/nologo 로고를 출력하지 않기
/EHsc  예외 관련 warning 출력하지 않기
/Za  마이크로소프트 확장 문법 사용하지 않기
/MD C/C++ 표준 라이브러리 DLL 버전 사용하겠다는 의미
(원도우즈와 관련)

한번 cl 컴파일러를 실행시켜봤는데요... 제가 사용 중인 시스템에서는 cl 이 설치가 안되어 있는 건가요...

 ~/build_test()% cl    hello.cpp /std:c++latest /nologo /EHsc /Za /MD
bash: cl: command not found

cl 컴파일러 사용을 위해서는 역시 설치가 필요합니다.

 

귀차니즘이 발동해서.. .cl은 그냥 skip할게요...

 

 

(참고) build.bat 파일로 컴파일러 실행시키기

build.bat 파일에 아래 내용을 넣어 두 개 컴파일러를 동시에 실행시키고 결과를 비교해볼 수 있습니다.

두 컴파일러 실행이 문제 없을 때는 이렇게 batch 파일을 만들어서 실행시켜 볼 수 있겠습니다.

  • build hellp.cpp
g++ %1 -std=c++1z
cl %1 /std:c++latest /nologo /EHsc /Za /MD

 

vc++, vs code, xcode, eclipse 등 통합 툴 사용하는 게 좋을 듯 싶네요.

 

 


 

Dev-C++ for Windows 10/8/7

 

아직 VS code 혹은 vc++ 설치하지 않으셨다면 Dev C++ 툴을 소개합니다. 

 

저는 상대적으로 매우 가벼운 툴인 Dev C++ 를 사용합니다. 빠르고, 간편하고, 무료인 C/C++ 에디터 입니다. 해당 버전은 TDM-GCC 9.2.0 64-bit Release를 포함하고 있어 최상위 버전을 지원합니다.

 

A fast, portable, simple, and free C/C++ IDE

 

Embarcadero Dev-C++ is a new and improved fork (sponsored by Embarcadero) of Bloodshed Dev-C++ and Orwell Dev-C++. It is a full-featured Integrated Development Environment (IDE) and code editor for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as its compiler.

 

Embarcadero Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler. Embarcadero Dev-C++ is built using the latest version of Embarcadero Delphi. Embarcadero Dev-C++ has a low memory footprint because it is a native Windows application and does not use Electron. Optimized for parallel compilation on modern multi-core machines.

 

https://sourceforge.net/projects/embarcadero-devcpp/

 

Dev-C++ for Windows 10/8/7

Download Dev-C++ for Windows 10/8/7 for free. A fast, portable, simple, and free C/C++ IDE. Embarcadero Dev-C++ is a new and improved fork (sponsored by Embarcadero) of Bloodshed Dev-C++ and Orwell Dev-C++. It is a full-featured Integrated Development Envi

sourceforge.net

 

버전을 확인해보면 9.2.0 이 보입니다.

설치하고 실행시키면 아래와 같은 화면이 뜹니다.

간편하고 간단합니다. 컴파일(F9) 누르면 실행됩니다.

Compile, Run, Compile &Run, Rebuild ALL 버튼 및 단축키를 제공됩니다.

Tools -> Complie Options

아래와 같이 컴파일 옵션을 주면 17 버전을 사용할 수 있습니다. 

 

기본 코드를 넣어 hello 를 출력해 보려합니다.

#include <iostream>

using namespace std;

int main() {

	cout << "hello" << endl;
}

 

단축키 F11 (complie & Run) 을 눌러 실행시켜 봅니다. hello가 출력되었네요!

 

 

 

 

 

 

C++ 열공ㅋ

 

'C++' 카테고리의 다른 글

[C++] header : iostream, cstdio, cstdlib,  (0) 2021.08.04
[C++] using namespace std;  (0) 2021.08.03
[C++] namespace, using  (0) 2021.08.02
Online C++ compiler (무료 온라인 C++ 컴파일러)  (0) 2021.08.01
Boost C++ Libraries 설치 (Dev C++)  (0) 2021.07.29

댓글