WSL에 GCC 설치 (WSL에서 동작하는 Ubuntu)

윈도우즈 10의 기능 중에 Windows Subsystem for Linux라는 것이 있습니다. 한글로는 'Linux용 Windows 하위 시스템'입니다. 이 기능을 이용해서 윈도우즈에 리눅스를 설치할 수 있습니다. 단, VMware와 같은 가상 머신에 설치한 완벽한 리눅스 환경은 아닙니다. 그래도 X-Window와 같은 GUI 환경 구성이 목적이 아니라면 웬만한 기능은 전부 사용할 수 있습니다. 당연히 여기서 설명하고 있는 GCC 컴파일러도 사용할 수 있습니다. 

여기에 게시되는 C언어에 관련된 자료는 특별한 경우가 아니라면 Windows Subsystem for Linux(줄임말 : WSL)에 설치된 GCC를 이용해서 빌드하고 테스트된 자료들입니다. 이렇게 하는 이유는 Visual Studio가 C언어 지원은 거의 하지 않는 상황으로 현재까지의 최신 버전인 Visual Studio 2019 조차도 C언어 표준을 완벽히 구현하지 않기 때문입니다. C언어 표준을 완벽에 가깝게 지원하는 것으로는 지금 설명하고 있는 GCC와 Pelles C가 있는데 좀 더 범용성을 가지고 있는 GCC를 사용하려고 합니다.


1. 개발자 모드 설정
Windows Subsystem for Linux(WSL)을 설치하기 전에 개발자 모드로 바꾸어야 합니다. 설정->업데이트 및 보안 -> 개발자용으로 들어가면 아래 <그림 1>과 같은 화면이 나옵니다. 여기서 '개발자 모드'로 바꿉니다. 

개발자 모드를 선택하면 필요한 파일을 설치하게 되는데 인터넷 연결 상황에 따라 시간이 걸릴 수 있습니다.

<그림1> 개발자 모드 설정

 

2. Windows Subsystem for Linux 설치 
검색을 이용해서 제어판을 실행후에 프로그램->프로그램 기능 켜기/끄기로 이동합니다. 그리고 <그림 2>와 같이 'Linux용 Windows 하위 시스템'을 클릭하고 확인 버튼을 누릅니다. 

필요한 프로그램을 설치하고 재부팅 메시지가 나오면 재부팅 합니다.

<그림2> Linux용 Windows 하위 시스템

 

3. Ubuntu 설치 
Microsoft Store를 실행하고 검색에서 'ubuntu'를 검색하면 <그림 3>과 같은 리눅스 배포판이 나옵니다. 여기서 'Ubuntu 18.04 LTS'를 설치합니다.

<그림3> 리눅스 배포판 설치

 

4. 우분투에 GCC 설치 
우분투 설치가 완료된 후에 실행하면 로그인 명과 암호를 입력하라고 나오는데, 외부 서버용이 아니므로 간단하게 정하면 됩니다. bash 쉘 프롬프트가 나오면 아래의 명령을 순서대로 실행합니다. 인터넷 연결 상황에 따라 시간이 걸릴 수 있고 중간에 설치 동의 메시지가 나오면 대소문자 구분 없이 'Y'를 누르면 됩니다. 

sudo apt-get update
sudo apt-get upgrade
sudo apt install build-essential
sudo apt install gdb

5. GCC 설치 확인 
아래의 명령어를 실행해서 <그림 4>와 같이 나오면 정상적으로 설치가 된 것입니다. 버전은 이 글을 쓰는 시점에서 가장 최신 버전이므로 이 보다 크면 정상적인 것입니다.

gcc --version
make --version
gdb --version

<그림4> GCC 설치 화면

 

* 추가 사항 
1. 처음 우분투를 실행하면 글자가 여기의 캡처 화면보다 작고 글자도 프로그래밍용 폰트가 아닌 고딕이나 레스터 글꼴로 되어 있을 겁니다. 이는 좌측 상단 아이콘을 누르면 속성이 나옵니다. 여기서 원하는 글꼴 크기와 색상을 변경할 수 있습니다. 

2. <그림 4>와 같이 명령 프롬프트를 실행해서 내가 작업하고자 하는 폴더로 이동후에 bash를 실행하면 해당 폴더가 자동으로 마운트되므로 번거롭게 우분투를 실행하고 원하는 폴더를 마운트 하는 것보다 <그림4>와 같은 방법이 편합니다. 좀 더 편한 개발 환경을 원할 경우에는 Visual Studio Code를 사용할 수도 있습니다. 

3. Ubuntu (WSL)에서 생성된 실행파일은 Linux 실행 파일로 윈도우즈 상에서는 실행할 수 없습니다. 윈도우즈에서 실행 가능한 파일을 원할 경우는 MinGW를 사용해야 합니다. 

댓글(0)

Designed by JB FACTORY