Skip to content

Windows에서 환경 설정하기

Windows는 여러분에게 아마 가장 친숙한 운영체제겠지만, 안타깝게도 국제정보올림피아드에서는 Windows를 사용하지 않으며 문제를 풀기에도 그렇게 적합한 환경이 아닙니다. IOI에서는 Ubuntu를 기본으로 사용합니다.

일반적으로는, Windows 내부에 Ubuntu라는 Linux 운영체제를 설치해서 사용하게 됩니다. 다행히도 Windows는 Windows Subsystem for Linux(WSL)이라는 기능을 제공하기 때문에, 복잡한 과정을 거치지 않고도 Windows 안에서 Ubuntu를 사용할 수 있습니다.

WSL을 설치하면 Windows와 Ubuntu가 같은 파일 시스템을 공유하기 때문에, Windows에서 만든 파일을 Ubuntu에서 바로 열거나 반대로 Ubuntu에서 만든 파일을 Windows에서 바로 열 수 있습니다.

Windows에 WSL과 Ubuntu 설치하기

Windows에서 WSL을 설치하는 방법은 매우 간단합니다.

  1. 시작 메뉴에서 Windows PowerShell 또는 명령 프롬프트를 검색한 뒤, 관리자 권한으로 실행합니다.
  2. 그 다음, 터미널 창에 아래의 명령어를 입력하고 엔터를 누르세요.
bash
wsl --install

이 명령어는 WSL을 활성화하고, 기본 Linux 배포판인 Ubuntu를 다운로드하여 설치합니다. 설치가 완료될 때까지 잠시 기다려 주세요.

설치 도중 혹은 완료 후 시스템 재부팅이 필요할 수 있습니다. 재부팅을 하라는 메시지가 나타나면 컴퓨터를 껐다 켜주시면 됩니다.

WARNING

설치 중 가상 머신 플랫폼 기능 관련 오류가 발생하나요?

간혹 가상 머신 플랫폼 기능을 활성화해야 합니다 혹은 이와 비슷한 오류 메시지가 나타나며 설치가 실패하는 경우가 있습니다. WSL은 Windows 환경에서 Linux를 가상으로 실행하는 기능이기 때문에, 일반적으로는 문제가 없지만 환경에 따라 가상 머신 플랫폼 기능이 꺼져있으면 오류가 발생할 수 있습니다.

이 경우 컴퓨터의 BIOS(또는 UEFI) 설정에서 CPU 가상화(Hyper-V, Virtualization Technology, VT-x, SVM 등)가 꺼져 있다면 컴퓨터를 재부팅하여 BIOS 설정에 진입한 뒤, 가상화 관련 옵션을 켜주어야 합니다. PC 제조사마다 진입 방법과 메뉴 이름이 다르므로, 인터넷에 (PC 제조사 또는 메인보드 제조사) 바이오스 가상화 켜기 등을 검색하여 진행해 보세요.

Ubuntu 초기 설정하기

설치가 성공적으로 끝났다면, 시작 메뉴에서 Ubuntu를 찾아 실행할 수 있습니다. 처음 실행하면 초기 설정이 진행되며, 사용할 사용자 이름(UNIX username)비밀번호(password)를 설정하라는 화면이 나타납니다.

이곳에 입력하는 비밀번호는 화면에 글자가 나타나지 않으므로 당황하지 말고 정확히 입력한 뒤 엔터를 누르면 됩니다. 이 비밀번호는 이후 프로그램을 설치하거나 시스템 관리 권한이 필요할 때마다 자주 사용되므로 꼭 기억해 두세요.

IMPORTANT

사용자 이름은 반드시 영어 소문자로 작성하세요. 한글이나 공백, 특수문자가 섞인 이름을 사용하면 개발 도구를 사용할 때 예기치 않은 오류가 발생할 수 있습니다.

설정이 완료되면 Ubuntu의 명령 프롬프트가 나타나며, 이제부터는 이 창 안에서 Linux 명령어를 사용할 수 있습니다.

GCC 설치하기

Ubuntu 설정이 끝났다면 코드를 컴파일하기 위한 도구인 GCC를 설치해야 합니다. 먼저, 우리가 설치한 Ubuntu가 24.04 버전이 맞는지 다음 명령어로 확인해 보세요.

bash
cat /etc/os-release

출력 결과에 VERSION="24.04 LTS"와 같은 문구가 포함되어 있다면 정상입니다.

이제 아래의 명령어를 차례대로 입력하여 패키지 목록을 최신 상태로 업데이트하고, C/C++ 컴파일러(GCC 13)가 포함된 패키지를 설치합니다. 비밀번호를 요구할 경우 설정했던 비밀번호를 입력해 주세요.

bash
sudo apt update
sudo apt install build-essential

NOTE

sudo 명령어란 무엇인가요?

sudo는 "Superuser DO"의 약자로, 관리자(root) 권한으로 명령어를 실행할 때 사용하는 명령어입니다. 새로운 프로그램을 설치하거나 시스템 설정을 변경할 때 주로 사용되며, 실행 시 보안을 위해 처음에 설정했던 사용자 비밀번호를 요구합니다.

주의: 명령어가 제대로 실행되지 않는다고 sudo를 습관적으로 남용해서는 안 됩니다. 일반적인 명령어나 파일 생성 등에 무턱대고 sudo를 붙여 실행하면, 생성되는 폴더나 파일(아티팩트)의 소유권이 관리자(root)로 설정되어 버립니다. 이렇게 되면 나중에 일반 사용자 권한으로 해당 파일을 수정하거나 컴파일하려고 할 때 권한이 부족할 수 있습니다. 반드시 패키지 설치 등 시스템 권한이 필요한 경우에만 주의해서 사용하세요.

설치가 끝났다면, 컴파일러가 제대로 설치되었는지 확인하기 위해 다음 명령어를 입력합니다.

bash
g++ --version

출력되는 첫 번째 줄에 g++ (Ubuntu 13.x.x... 와 같이 버전 13이 나타나는지 반드시 확인해 주세요.

참고로, 앞으로 실습에서 코드를 컴파일할 때는 다음과 같은 기본 명령어를 사용하게 됩니다. (지금 당장 실행할 필요는 없습니다.)

bash
g++ main.cpp -std=gnu++20 -O2 -pipe -Wall -o main

WARNING

출력된 버전이 13이 아닌가요?

이전에 WSL을 설치한 적이 있거나 설치된 Ubuntu가 24.04 버전이 아니라면(예: 22.04 등), 기본 패키지로 더 낮은 버전의 컴파일러가 설치되었을 수 있습니다. 이런 경우 아래의 명령어를 차례대로 입력하여 GCC 13을 추가로 설치하고 기본 컴파일러로 설정해 주세요.

bash
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt install gcc-13 g++-13 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 130 --slave /usr/bin/g++ g++ /usr/bin/g++-13

설정 후 다시 g++ --version 명령어를 입력해 버전 13이 정상적으로 표시되는지 확인합니다.

VS Code 설치하기

터미널 환경에서만 코드를 작성하는 것은 꽤 불편할 수 있습니다. 이를 돕기 위해 우리는 Visual Studio Code(이하 VS Code)라는 코드 편집기를 사용할 것입니다.

Windows 환경에서 웹 브라우저를 열고 VS Code 공식 홈페이지에 접속하여 Windows용 설치 파일을 다운로드한 뒤, 화면의 안내에 따라 설치를 완료해 주세요.

다운로드 링크: Visual Studio Code 공식 다운로드 페이지

VS Code로 WSL 작업 환경 연결하기

VS Code를 설치했다면, 이제 Windows의 VS Code에서 WSL 안에 있는 Ubuntu 환경에 접속할 수 있도록 만들어야 합니다.

  1. VS Code를 실행합니다.
  2. 좌측 메뉴에서 확장(Extensions) 탭(네 개의 네모가 모여 있는 아이콘)을 클릭합니다.
  3. 검색창에 WSL을 입력하고, Microsoft에서 만든 WSL 확장 프로그램을 찾아 설치합니다.
  4. 설치가 완료되면, 좌측 하단에 있는 파란색 >< 모양의 아이콘을 클릭합니다.
  5. 화면 상단에 나타나는 메뉴에서 WSL에 연결(Connect to WSL)을 선택합니다.

이제 VS Code가 Ubuntu 환경과 연결되었습니다. VS Code의 좌측 하단에 WSL: Ubuntu라고 표시되어 있다면 성공적으로 연결된 것입니다.

TIP

Ubuntu 터미널에서 VS Code 바로 열기 Ubuntu 터미널에서 코드를 작성하고 싶은 폴더로 이동한 뒤 code . 명령어를 입력하면, 해당 폴더가 열린 상태로 VS Code가 즉시 실행됩니다.

주의 사항

앞으로 작성할 모든 코드는 Windows가 아닌 Ubuntu 환경 내부에 폴더를 만들고 저장하는 것을 권장합니다. /mnt/c/Users/... 와 같은 Windows 바탕화면이나 내 문서 경로에서 작업하면 파일 접근 속도가 현저히 느려지거나 권한 문제가 발생할 수 있습니다. 가급적 Ubuntu 터미널을 열고 기본 홈 디렉토리(~) 아래에 실습 폴더를 만들어 사용하세요.

WARNING

경로와 파일 이름 규칙 실습을 위해 폴더나 파일을 생성할 때는 반드시 영어 소문자 중심의 ASCII 문자만 사용해야 합니다.

  • 파일이나 폴더 이름에 한글, 공백, 대문자, 특수문자를 혼합해서 사용하지 마세요.
  • 영문 소문자와 숫자, 하이픈(-)이나 언더스코어(_) 정도만 사용하는 것이 가장 안전합니다.
  • 잘못된 예: C++ 연습 (한글 및 공백 포함), Hello World.cpp (대문자 및 공백 포함)
  • 올바른 예: cpp-practice, hello_world.cpp

이 규칙을 지키지 않으면 경로를 인식하지 못하거나 컴파일이 알 수 없는 이유로 실패하는 등 해결하기 매우 까다로운 오류가 발생할 수 있습니다.