Appearance
macOS에서 환경 설정하기
macOS는 Unix 기반 운영체제라 Ubuntu와 사용 방식이 비슷합니다. 이 문서에서는 Homebrew와 GCC 13 기준으로 실습 환경을 맞춥니다.
질문이 필요하면 문제 해결 문서의 질문 양식대로 준비한 뒤 문의합니다.
설치 중 막히면 다른 컴파일러 경로로 바꾸기 전에 문제 해결 문서의 질문 양식을 먼저 확인합니다.
Homebrew 설치하기
macOS에서 필요한 프로그램을 쉽게 설치하고 관리하기 위해 Homebrew라는 패키지 관리자를 사용합니다.
- 먼저, 터미널(Terminal) 앱을 실행합니다. (
Cmd + Space를 눌러 Spotlight 검색을 열고 '터미널'을 검색하면 쉽게 찾을 수 있습니다.) - 터미널 창에 아래의 명령어를 복사하여 붙여넣고 엔터를 누르세요.
아래 명령은 Homebrew 공식 설치 문서에서 안내하는 방식입니다. 다른 블로그나 임의 사이트에서 가져온 유사한 명령을 실행하지 말고, 필요하면 Homebrew 공식 사이트의 설치 명령과 일치하는지 먼저 확인합니다.
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"명령어를 실행하면 중간에 Mac의 로그인 비밀번호를 요구할 수 있습니다. 비밀번호를 입력할 때는 화면에 아무 글자도 보이지 않으므로 당황하지 말고 정확히 입력한 뒤 엔터를 누르면 됩니다. 설치가 완료될 때까지 잠시 기다려 주세요.
NOTE
설치가 끝난 후 화면 마지막에 Run these two commands in your terminal to add Homebrew to your PATH: 라는 문구가 나타난다면, 그 아래에 안내된 두 줄의 명령어를 복사해서 터미널에 다시 한 번 실행해 주어야 Homebrew가 정상적으로 동작합니다.
TIP
iTerm2 사용해 보기 (선택 사항) macOS의 기본 터미널 대신 개발자들이 즐겨 쓰는 iTerm2라는 터미널 앱을 설치할 수도 있습니다. Homebrew를 설치한 후, 터미널에서 brew install --cask iterm2 명령어를 입력하면 간단하게 설치할 수 있습니다. 설치 후에는 기본 터미널 대신 iTerm2를 실행하여 계속 진행해도 무방합니다.
GCC 설치하기
Homebrew 설치가 완료되었다면, 이제 C/C++ 컴파일러인 GCC를 설치합니다. macOS에는 기본적으로 Apple에서 제공하는 컴파일러(Clang)가 설치되어 있지만, 우리는 최신 표준 기능을 사용하기 위해 버전 13의 GCC를 따로 설치하여 사용하겠습니다.
터미널에 다음 명령어를 입력하여 GCC 13 버전을 설치합니다.
bash
brew install gcc@13설치가 끝났다면, 컴파일러가 제대로 설치되었는지 확인하기 위해 다음 명령어를 입력합니다.
bash
brew list --versions gcc@13
g++-13 --version첫 번째 명령의 출력에 gcc@13과 설치된 버전이 나타나고, 두 번째 명령의 첫 번째 줄에 버전 13이 나타나는지 확인합니다.
g++-13 --version은 동작하지만 brew list --versions gcc@13의 출력이 없다면 이전에 설치한 다른 GCC의 실행 파일이 남아 있을 수 있습니다. 이 경우 문제 해결의 g++-13 버전 확인은 되지만 컴파일 실패 항목을 확인합니다.
참고로, 앞으로 실습에서 코드를 컴파일할 때는 다음과 같은 기본 명령어를 사용하게 됩니다. (지금 당장 실행할 필요는 없습니다.)
bash
g++-13 main.cpp -std=gnu++20 -O2 -pipe -Wall -o mainWARNING
macOS에서 g++ 명령어를 그냥 사용하면 안 되나요? macOS 터미널에서 단순히 g++만 입력하면, 우리가 설치한 GCC가 아닌 Apple 기본 Clang 컴파일러가 실행되도록 연결되어 있습니다. 두 컴파일러는 지원 기능과 구현 세부가 다를 수 있으므로, 이 문서에서는 g++-13 명령어를 사용합니다.
G++와 Clang은 굉장히 유사하지만, 약간의 차이점이 있습니다. 먼저 헤더 파일인 <bits/stdc++.h>는 GCC(GNU C++) 전용 헤더로 Clang에서는 이 헤더를 지원하지 않습니다. 비슷하게 G++에만 있는 특정 확장 기능들이 존재하고 구현 방식도 약간씩 다르기 때문에, 가능하면 G++을 사용하는 것을 추천드립니다.
VS Code 설치하기
터미널 환경에서만 코드를 작성하는 것은 꽤 불편할 수 있습니다. 이를 돕기 위해 우리는 Visual Studio Code(이하 VS Code)라는 코드 편집기를 사용할 것입니다.
Homebrew를 이용하면 터미널에서 간단한 명령어 한 줄로 VS Code를 설치할 수 있습니다. 터미널에 아래 명령어를 입력해 주세요.
bash
brew install --cask visual-studio-codeNOTE
직접 다운로드하여 설치하려면 명령어를 사용하지 않고 직접 설치하고 싶다면 VS Code 공식 홈페이지에서 Mac용 설치 파일(Universal)을 다운로드하여 .zip 압축을 풀고, 나온 앱을 응용 프로그램(Applications) 폴더로 직접 이동시키면 됩니다.
터미널에서 VS Code 바로 열기
터미널에서 명령어로 VS Code를 바로 열 수 있도록 설정할 수 있습니다.
- 설치한 VS Code를 실행합니다.
- 키보드에서
Cmd + Shift + P를 눌러 명령 팔레트(Command Palette)를 엽니다. - 검색창에
shell command를 입력하고, 목록에서 Shell Command: Install 'code' command in PATH를 선택합니다.
설정이 완료되면, 터미널에서 코드를 작성하고 싶은 폴더로 이동한 뒤 code . 명령어를 입력하면 해당 폴더가 열린 상태로 VS Code가 즉시 실행됩니다.
주의 사항
앞으로 작성할 모든 코드는 기본 홈 디렉토리(~) 아래에 실습 전용 폴더를 만들어서 저장하는 것을 권장합니다.
WARNING
경로와 파일 이름 규칙 한글, 공백, 대문자, 특수문자가 들어간 파일명도 운영체제에서 지원되는 경우가 많지만, 터미널에서 경로를 입력하거나 명령어를 복사해 실행할 때 실수하기 쉽습니다. 이 교육에서는 오류를 줄이기 위해 영어 소문자 중심의 ASCII 문자만 사용합니다.
- 파일이나 폴더 이름에 한글, 공백, 대문자, 특수문자를 혼합해서 사용하지 마세요.
- 영문 소문자와 숫자, 하이픈(
-)이나 언더스코어(_) 정도만 사용하는 것이 가장 안전합니다. - 잘못된 예:
C++ 연습(한글 및 공백 포함),Hello World.cpp(대문자 및 공백 포함) - 올바른 예:
cpp-practice,hello_world.cpp
이 규칙을 지키지 않으면 경로 입력, 따옴표 처리, 복사/붙여넣기 과정에서 실수하기 쉬워집니다.
부록: g++ 명령어가 g++-13을 실행하도록 변경하기 (선택 사항)
매번 g++-13이라고 입력하는 것이 번거롭다면, 터미널 설정 파일에 별칭(alias)을 추가하여 g++ 명령어만 입력해도 g++-13이 실행되도록 설정할 수 있습니다.
- 터미널을 열고 자신이 사용 중인 셸(Shell)의 설정 파일을 엽니다. macOS는 기본적으로
zsh를 사용하므로 아래 명령어를 입력합니다.bashcode ~/.zshrc - 파일의 맨 아래에 다음 줄을 추가하고 저장합니다.bash
alias g++="g++-13" - 터미널을 재시작하거나, 아래 명령어를 입력하여 변경 사항을 바로 적용합니다.bash
source ~/.zshrc
이제부터는 g++ main.cpp ... 처럼 짧게 입력해도 우리가 설치한 GCC 13 버전으로 정상적으로 컴파일됩니다.
성공 기준
다음 다섯 가지가 되면 macOS 환경 세팅은 끝입니다.
sw_vers를 실행했을 때 현재 macOS 버전을 확인할 수 있습니다.brew list --versions gcc@13을 실행했을 때gcc@13과 설치된 버전이 보입니다.which g++-13을 실행했을 때 Homebrew가 설치한 경로가 보입니다.g++-13 --version을 실행했을 때13.x가 보입니다.- 터미널에서
g++-13 main.cpp -std=gnu++20 -O2 -pipe -Wall -o main으로 컴파일하고./main으로 실행할 수 있습니다.
제출 단계는 다음 문서인 CMS 제출 방법에서 확인합니다.