2015-01-02 2 views
2

버전 4.9 이후 gcc은 마침내 clang처럼 컬러 출력을 표시 할 수 있습니다. 래퍼 스크립트가 더 이상 필요하지 않습니다. 나는 나의 .bashrc에 다음 줄이 :왜 CMake가 gcc 4.9.x 색상을 제거합니까?

export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' 

및 (플래그 사용없이 -fdiagnostics-color) gcc 자체를 호출 할 때 색상이있다 그러나

gcc 경우 같은이 사실이 아니다, CMake- 생성 된 Makefile에 의해 호출됩니다. 웬일인지 모든 gcc 색상은 항상 제거되고 cmake는 clang 색상을 유지합니다.

이 문제를 어떻게 해결할 수 있습니까?

+1

나는'export'를 실행했고'CMake'와'gcc' 4.9라는 색깔의 경고문으로 만들어졌습니다. 매개 변수없이'export'를 실행하면 내 보낸 내용을 알려줍니다. 'GCC_COLORS'가 열거되고, 정확하게 대문자로 바뀌고, 올바르게 포맷 (parseable)되어 있는지 확인하십시오. 마지막으로'-fdiagnostics-color'를'CMakeLists.txt'에 추가하십시오. – inetknght

+0

@inetknght'declare -x GCC_COLORS = "에러 = 01; 경고 = 01; 35 : 노트 = 01; 36 : 캐럿 = 01; 32 : 궤적 = 01 : 인용 = 01 ". 그래서 변수는 괜찮아 보입니다. 나는 'CMakeLists.txt'에 플래그를 추가해 보겠습니다. – eang

답변

1

나는 sudo make install을 실행 중이며 루트 환경에서는 정의 된 변수가 GCC_COLORS입니다. 그래서 clang이 보여지는 동안 gcc 색상이 사라졌습니다.

사용자 권한이있는 make install을 실행하면 예상대로 gcc 색상이 표시됩니다. 쓸모없는 질문에 사과드립니다.

관련 문제