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 に答える