【发布时间】:2015-01-02 16:08:31
【问题描述】:
自 4.9 版以来,gcc 终于可以像clang 一样显示彩色输出。不再需要包装脚本。
我的.bashrc 中有以下行:
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
当调用gcc 本身时,颜色就在那里(没有使用标志 -fdiagnostics-color)
但是,如果gcc 由CMake 生成的Makefile 调用,则情况并非如此。出于某种原因,所有 gcc 颜色总是被删除,而 cmake 保留了 clang 颜色。
我该如何解决这个问题?
【问题讨论】:
-
我运行了您的
export并使用CMake构建,而我的gcc4.9 构建了彩色警告。如果你在没有参数的情况下运行export,它应该会告诉你导出了什么。验证GCC_COLORS是否已列出、大小写正确且格式正确(可解析)。最后,尝试将-fdiagnostics-color添加到您的CMakeLists.txt。 -
@inetknght 我的
export输出具有以下行:declare -x GCC_COLORS="error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01"。所以,变量似乎没问题。我会尝试将标志添加到CMakeLists.txt。