使用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’
谢谢
最佳答案
我不知道在cmake中是否可行,但是您始终可以将stderr重定向到stdout,并使用简短的sed脚本过滤输出。至少可以过滤通用项目路径
make 2>&1 | sed 's/\/home\/nick\/projects\/projectA\/src\///g'