g ++有时会产生相当复杂的输出.特别是在处理模板时.有没有什么工具可以让g ++输出更具可读性?......至少有些颜色?
在这里提出这个问题可能听起来很愚蠢,但我一直无法用谷歌来解决这个问题.
我写了一个工作正常的Makefile; 我只是将其中一部分发布到调查中:
BUILD_PRINT = @echo -e "\e[1;34mBuilding $<\e[0m"
COMPILE_cpp = $(CXX) $(CFLAGS) -o $@ -c $< $(MAKEDEP) $(INCLUDES)
%.o : %.cpp
$(BUILD_PRINT)
$(COMPILE_cpp)
.SUFFIXES: .o .cpp
Run Code Online (Sandbox Code Playgroud)
我想强调编译器给出的警告和错误,而不使用外部工具(如colorgcc或CMake); 我认为破解它的一个好方法是通过" bash脚本技巧 ".查看在" 如何突出显示输出中的警告和错误行"中发布的解决方案?我尝试过以下方法:
pathpat="(/[^/]*)+:[0-9]+"
ccred=$(echo -e "\033[0;31m")
ccyellow=$(echo -e "\033[0;33m")
ccend=$(echo -e "\033[0m")
BUILD_PRINT = @echo -e "\e[1;34mBuilding $<\e[0m"
COMPILE_cpp = $(CXX) $(CFLAGS) -o $@ -c $< $(MAKEDEP) $(INCLUDES)
%.o : %.cpp
$(BUILD_PRINT)
$(COMPILE_cpp) 2>&1 | sed -e "/[Ee]rror[: ]/ s%$pathpat%$ccred&$ccend%g" -e "/[Ww]arning[: ]/ s%$pathpat%$ccyellow&$ccend%g" echo "${PIPESTATUS[0]}"
.SUFFIXES: .o …Run Code Online (Sandbox Code Playgroud)