いくつかの長いエラーの場合、gcc の出力は密集しており、行の折り返しなどが多数含まれています。特にエラーが微妙な場合、目を細めて解析するのに 10 ~ 30 秒かかることがあります。
これを開いているコードエディターウィンドウに貼り付けて、基本的な構文の強調表示を取得し、正規表現による再フォーマットを有効にしました。
より自動化された方法を発明した人はいますか?
いくつかの長いエラーの場合、gcc の出力は密集しており、行の折り返しなどが多数含まれています。特にエラーが微妙な場合、目を細めて解析するのに 10 ~ 30 秒かかることがあります。
これを開いているコードエディターウィンドウに貼り付けて、基本的な構文の強調表示を取得し、正規表現による再フォーマットを有効にしました。
より自動化された方法を発明した人はいますか?
次のスクリプトを使用しますcolorize
。
#!/bin/bash
while read x ; do echo $x ; done \
| sed -e "s/.*error:.*/\x1b[1;36m&\x1b[0m/" \
-e "s/.*warning:.*/\x1b[1;36m&\x1b[0m/" \
-e "s/^\(.*\)\(required from\)/\x1b[1;36m\1\x1b[0mnote: \2/" \
-e "s/^\(.*\)\(In instantiation of\)/\x1b[1;36m\1\x1b[0mnote: \2/" \
-e "s/^\(.*\)\(In member\)/\x1b[1;36m\1\x1b[0mnote: \2/" \
| sed -e "s/error:/\x1b[1;31m&\x1b[1;36m/" \
-e "s/warning:/\x1b[1;35m&\x1b[1;36m/" \
-e "s/note:/\x1b[1;30m&\x1b[0m/"
次に、次のように呼び出します(makeまたはビルドシステムを使用):
make |& colorize
そして、clangに似たカラー出力が得られます。
I've found colorgcc to be invaluable. By introducing coloring, it becomes much easier to mentally parse the text of gcc error messages, especially when templates are involved.
エラーがテンプレートに関連している場合は、STLfilt を見てください。
gccfilter は、メッセージの色付けと簡略化を行います。
To answer your question 4 years later, clang should be mentioned here.
Ruby が好きなら、GilCCがあります。GilCC は非常に簡単にインストールでき (bin フォルダーにコピーするだけ)、使いやすく ("gcc" または "make" の代わりに GilCC と入力するだけ)、GCC バージョンで動作します。Perl ベースのスクリプトとは異なり、 GilCCには警告やエラーの数、コンパイル時間などの統計があります。マシンで Ruby を実行できる限り、.bash ファイルをいじる必要はなく、クロスプラットフォームです。Rubyの力があるので。ビルドが成功した後、テスト自動化のトリガー、単体テスト、または外部ハードウェアのプログラムなど、さまざまなことを GilCC に実行させることができます。
ダウンロード ページへのリンクは次のとおりです: http://www.onlysolutionssoftware.com/gilcc/