Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 671
  • 2586188
DNS Powered by DNSEver.com
Linux

[ColorGCC] 컴파일 경고 및 오류메시지 컬러로 출력하기

Posted 2014. 04. 10 Updated 2017. 06. 02 Views 9687 Replies 0
Atachment
첨부

윈도우 환경에서 Visual Studio와 같은 IDE에서만 개발 작업을 하다가, 리눅스 환경에서 처음 개발을 시작한게 된다면 불편하고 막히는 점이 한 두가지가 아닐 것입니다.

IDE만 설치하면 자동으로 설정해주고 지원해주던 것들이, 리눅스에서는 일일이 수동으로 세팅해 주어야 하기 때문입니다.

하지만, 사용자가 일일이 환경설정을 해 줘야 되서 그렇지, 일단 세팅만 잘 해두고 그 환경에 익숙해진다면 얼마 가지 않아 개발은 리눅스 환경에서 하는 것이 훨씬 편하다고 느끼게 될 것입니다.

새로운 개발 환경에서 불편함을 느끼게 되는 점이 한 두가지가 아니겠지만, 이번 포스트에서는 모두 똑같은 색으로 출력되는 컴파일 오류메시지를 컬러풀하게 출력하는 방법을 다루도록 하겠습니다.

리눅스에 설치된 기본 컴파일러(gcc, g++, cc, c++)로 컴파일을 하면 경고나 오류가 발생하더라도 메시지만 출력할 뿐 해당 메시지를 컬러 형식으로 구문강조해서 표시해 주지 않습니다. 하지만, ColorGCC라는 유틸리티를 사용하면, IDE에서와 같이 메시지를 컬러로 표시할 수 있습니다.


ColorGCC 설치

다음 명령어를 사용하여 colorgcc를 설치합니다.

sudo apt-get install colorgcc

다음으로, 시스템에서 사용하는 컴파일 명령어들이 모두 colorgcc를 가리키도록 설정합니다.
이 과정은 심볼릭 링크를 만들고, $PATH에 해당 디렉토리가 가장 앞에 위치하도록 설정하는 과정으로 나뉩니다.


컴파일러 심볼릭 링크 생성

mkdir ~/compilers
cd ~/compilers
ln -s `which colorgcc` g++
ln -s `which colorgcc` gcc
ln -s `which colorgcc` cc
ln -s `which colorgcc` c++


PATH 등록

~/.bashrc 맨 아래에 다음 줄을 추가합니다.

export PATH="$HOME/compilers:$PATH"


.colorgccrc 작성

이제 컴파일 명령을 모두 colorgcc로 돌렸으므로, colorgcc에서 각 컴파일러를 찾을 수 있도록 설정해 주어야 합니다.

위에서 생성한 링크로 하여금 colorgcc가 실행이 되면, colorgcc에서는 다음 설정 파일을 뒤져서 실제 컴파일러의 위치를 찾아내어 실행합니다.

~/.colorgccrc 파일을 다음과 같이 작성합니다.

gcc: /usr/bin/gcc
g++: /usr/bin/g++
cc: /usr/bin/cc
c++: /usr/bin/c++


콘솔을 재시작하고, 실제 컴파일을 해서 경고나 오류메시지가 다음과 같이 컬러로 표시되면 올바르게 설정이 된 것입니다.

error_test.png


※ 사용할 컴파일러를 추가하고 싶다면, 앞서 생성한 compilers 디렉토리에 해당 컴파일러 명령어가 colorgcc를 가리키도록 심볼릭 링크를 생성하고, colorgccrc에 컴파일러의 실제 경로를 기재해주면 됩니다.


TAG •
서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
49 Linux SSHFS를 활용한 원격 디렉토리 마운트 TUW 2014.04.24 10072
48 Linux [Ubuntu] 원격 Shell에서 로그인 사용자 디스플레이에 GUI 프로그램 실행하기 TUW 2016.03.06 10051
47 XE XE Core 업그래이드를 안정적으로 하는 방법 TUW 2014.04.19 10029
46 일반 [Windows 7] 스테레오믹스 활성화하기 file TUW 2021.12.28 9997
45 일반 Eclipse에 C/C++ 개발환경 구축하기 file TUW 2017.06.02 9919
44 일반 Scan Robot - 전자동 북스캐너 file TUW 2017.06.02 9809
43 AVR [AVR 강의] 실습보드용 필요 부품 및 공구 목록 file TUW 2017.06.02 9799
» Linux [ColorGCC] 컴파일 경고 및 오류메시지 컬러로 출력하기 file TUW 2017.06.02 9687
41 Apache robots.txt를 활용하여 검색엔진 로봇 인덱싱 제한하기 TUW 2014.04.23 9463
40 일반 TCP/IP의 원리를 쉽게 설명한 동영상 TUW 2021.12.28 9424
39 Python [Django Tutorial] 5. Static 파일 사용하고 관리하기 file TUW 2017.06.16 8713
38 Python [Django Tutorial] 4. URL Config, Template 및 View의 동작에 대한 이해 file TUW 2017.06.16 8631
37 AVR [반항하는 기계] 기획서 file TUW 2017.06.02 8495
36 Linux [Linux] fdisk 활용 외: 파티션 생성, 배드블록 검사, 파일시스템 생성 TUW 2015.04.24 8248
35 일반 제트엔진의 작동원리 동영상 TUW 2014.04.16 8108
34 Linux [Linux] Sudo 명령의 Secure Path TUW 2015.04.24 8080
목록
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5