CMake如何从编译错误中删除路径

时间:2013-09-28 18:40:13

标签: path compiler-errors g++ cmake

当使用cmake时,如果存在编译错误,则会输出包含错误的文件的整个路径的错误。这条路径可能很长(见下面的示例),因此通常它会包装并使其难以阅读。

示例输出:

/home/nick/projects/projectA/src/environment/base/terrain/base/TestFile.h:21:37: error: ‘TestFile’ does not name a type
/home/nick/projects/projectA/src/environment/base/terrain/base/TestFile.h:21:54: error: expected unqualified-id before ‘test’
/home/nick/projects/projectA/src/environment/base/terrain/base/TestFile.h:21:54: error: expected ‘)’ before ‘test’

有没有办法从错误中删除路径? 像这样:

TestFile.h:21:37: error: ‘TestFile’ does not name a type
TestFile.h:21:54: error: expected unqualified-id before ‘test’
TestFile.h:21:54: error: expected ‘)’ before ‘test’

由于

1 个答案:

答案 0 :(得分:1)

我不知道是否可以在cmake中使用,但是您始终可以将stderr重定向到stdout并使用短的sed脚本过滤输出。至少可以过滤公共项目路径

make 2>&1 | sed 's/\/home\/nick\/projects\/projectA\/src\///g'