본문 바로가기

개발환경관련

[Sublime Text] C++ 빌드 시스템 설정하기

MacOS X에 Sublime Text 버전 3을 설치하면 기본적으로 C++ 빌드 환경을 제공한다. 그러나 기본적으로 설정된 C++ 빌드는 g++컴파일러의 기본 옵션으로 소스 코드를 컴파일하고 빌드하는 것이다. 그래서 C++ 버전 11 이후의 기능을 컴파일하고 빌드를 할 수 있도록 지원하지 않는다.

기본적인 C++ 빌드 환경은 다음과 같은 명령어가 실행된다.

$g++ -o <executable file> <c++ 소스파일>

예로 소스 파일이 sourceTest.cc 이고 컴파일하고 빌드한 후 실행파일 이름이 sourceTest 로 하려고 한다면 빌드 명령은다음과 같다.

$g++ -o sourceTest sourceTest.cc

그러나 sourceTest.cc 파일을 C++ 11 버전으로 컴파일하고 빌드하기 위해서는 다음과 같이 -std=c++11옵션을 추가하여야 한다.

$g++ -std=c++11 -o sourceTest sourceTest.cc

Sublime Text IDE(Integrated Development Environment)에서 새로운 빌드 시스템을 추가하기 위해서는 Sublime Text 메뉴의
Tools 메뉴 아래 Build System 을 선택하고 New Build Sysytem 을 클릭하면 아래와 같은 에디터 화면이 보인다.

Build System 설정 화면&amp;nbsp;

다음은 C++ 버전 17 표준에 따라 C++ 소스파일을 컴파일하고 빌드하도록 설정하는 파일의 내용이다.

{
  "shell_cmd": "g++ -std=c++17 \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++, source.cc, source.cpp, source.cxx",
    "variants":
    [
        {
            "name": "Run",
            "shell_cmd": "g++ -std=c++17 \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
        }
    ]
}

C++ 표준 버전 11, 14, 17 각각의 빌드 옵션을 설정한 후 Tools 메뉴 아래 Build System 을 클릭하여 빌드 시스템을 확인하면 다음과 같다. 작성한 C++ 소스 프로그램을 빌드할 때 C++ 11, C++ 14, C++ 17 의 빌드 옵션 중 하나를 선택할 수 있다.

C++ 표준 11, 14, 17 에 따른 빌드 시스템 설정 결과 화면