gcc(または他のコンパイラ)はしばしば巨大なテキスト出力を生成し、エラーがどこにあるか、警告を見逃すのは非常に困難です。私はいくつかの検索を行いましたが、コンパイラ出力を色分けするためのクリーンでシンプルなソリューションが見つかりませんでした(たとえば、警告は黄色、エラーは赤色など)
非常に単純なものを探している場合の代替手段は次のとおりです。
#!/bin/bash -e
make ${@} 2>&1 | Perl -wln -M'Term::ANSIColor' -e '
m/Building|gcc|g++|\bCC\b|\bcc\b/ and print "\e[1;32m", "$_", "\e[0m"
or
m/Error/i and print "\e[1;91m", "$_", "\e[0m"
or
m/Warning/i and print "\e[1;93m", "$_", "\e[0m"
or
m/Linking|\.a\b/ and print "\e[1;36m", "$_", "\e[0m"
or
print; '
Makeをこのスクリプトにエイリアスし、それが実行可能であることを確認してください...
Gcc 4.9はこの機能を追加したようです-fdiagnostics-color
フラグを介して:
DebianおよびUbuntuは、そのためにcolorgcc
パッケージを提供します。
そして通常、gcc
(およびmake
)をemacs
を介してM-x compile
その後、メッセージは色付けされます。
GCC 4.9 にはネイティブの色付け機能があり、 GCC 6 -2016年4月末にリリースされました そしておそらく---(GCC 5 もデフォルトで有効になっています) (stdoutが端末の場合)。
わかりました、私はちょうど私自身の(pythonベースの)ツールについても通知を残します:)
Pluggable Output Processor と呼ばれ、特定のプログラムの出力を色付けするだけでなく設計されています。前のサンプルGCC出力は次のとおりです。
後:
colorgcc を参照してください。これは、gcc出力をクーラー化するPerlスクリプトです。
ColorMake は、GCCおよびMakeの出力を色付けし、警告とエラーを強調表示します。
ここで少なくとも3つの回答が colorgcc に言及していますが、それらのどれもインストール方法を説明していません! (それは明らかではありません)。だから、ここにUbuntuに最新バージョンをインストールする方法があります!
Sudo cp ~/Downloads/Install_Files/colorgcc-master/colorgcc.pl /usr/bin/colorgcc
Sudo chmod +x /usr/bin/colorgcc
mkdir ~/bin
gcc
またはg++
を呼び出すたびに、代わりにcolorgcc
を自動的に呼び出すようにします:ln -s /usr/bin/colorgcc ~/bin/g++
ln -s /usr/bin/colorgcc ~/bin/gcc
以下は、g++
を呼び出したときのg++ -Wall -std=c++11 time_until_overflow_2.cpp -o time_until_overflow_2
出力のサンプルです。
*注意:これらのシンボリックリンクを「〜/ bin」に作成するのは、フォルダの場所beforeのPATH変数に「〜/ bin」が含まれる場合のみです。実際のgcc
およびg++
実行可能ファイルがある場所。パスに「〜/ bin」があることを確認するには、echo $PATH
でPATH変数の内容を表示できます。パスの先頭に「/ home/YOUR_USERNAME/bin」が表示されない場合は、export PATH=~/bin:$PATH
で追加してください。
参照:
詳細はこちらをご覧ください。そして、私が最初にこれらの手順のほとんどを学んだ場所については、 https://imranfanaswala.wordpress.com/2009/02/02/setting-up-colorgcc/ 。イムラン・ファナスワラに感謝します!
GilCC を使用できます。これは、RubyリアルタイムでGCC出力を色に変換するツールです。現在、Perlスクリプト(colorGCC)またはGilCCを使用していて、すでにRuby=.
GilCCに固有; GilCCには警告カウンターとエラーカウンターがあり、コンパイル時間も表示されます。これは、物事を改善しようとしているときに非常に便利です。 Rubyであるため、クロスプラットフォームです。柔軟性があり、必要に応じてgemを追加してカスタマイズできます。
ダウンロードページへのリンクはこちらです。
GCC 4.9には、端末への色付き出力を有効にする-fdiagnostics-colorオプションがありますが、色付きのコンパイラ出力を取得するために ' crror 'という小さなツールを作成しました。
make
からの出力もサポートします。必要に応じて、他のツールに色付けパターンを追加できます。