我正在使用gcc 4.9.2和ccache 3.1.10。我的shell环境包含GCC_COLORS=auto
(来自here;已尝试yes
和always
)。
作为最小测试,我编译了这个main.c
文件
int main() {
int a;
return 0;
}
使用gcc -c main.c -Wall -o main.o
并观察(根据需要)
main.c: In function ‘main’:
main.c:2:7: warning: unused variable ‘a’ [-Wunused-variable]
int a;
^
以main.c:
和main.c:2:7:
,‘main’:
和‘a’
以粗体显示,^
以粗体显示绿色,warning:
以品红色显示大胆的面孔。
使用ccache
进行编译,着色消失。
注意:ccache gcc -Wall -c main.c -o main.o
无色,但ccache gcc -Wall main.c -o main
仍为彩色。
NB2:ccache gcc -Wall -c main.c -o main.o -fdiagnostics-color
也会保留输出中的颜色。
问题:是否建议您使用export GCC_COLORS
ccache
功能?我希望全局启用颜色(通过~/.MYSHELLrc
),而不是将-fdiagnostics-color
全局添加到$CFLAGS
[0],我希望避免使用custom wrappers解析输出消息(可能会与LC_MESSAGES
设置混淆)。
[0]:我有很多Makefiles
未将其配置添加到CFLAGS
,但会覆盖环境设置。