1

使用 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’

谢谢

4

1 回答 1

1

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

make 2>&1 | sed 's/\/home\/nick\/projects\/projectA\/src\///g'
于 2013-09-30T11:49:05.620 回答