【问题标题】:Why CMake removes the gcc 4.9.x colors?为什么 CMake 会删除 gcc 4.9.x 颜色?
【发布时间】: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

但是,如果gccCMake 生成的Makefile 调用,则情况并非如此。出于某种原因,所有 gcc 颜色总是被删除,而 cmake 保留了 clang 颜色。

我该如何解决这个问题?

【问题讨论】:

  • 我运行了您的export 并使用CMake 构建,而我的gcc 4.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

标签: gcc cmake


【解决方案1】:

我正在运行 sudo make install 并且在根环境中没有定义 GCC_COLORS 变量。这就是为什么 gcc 颜色消失了而显示 clang 的原因。

以用户权限运行 make install 会按预期显示 gcc 颜色。 很抱歉这个无用的问题。

【讨论】:

    猜你喜欢
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多