web-dev-qa-db-ja.com

makeコマンドで使用されるGCCのバージョンは何ですか?

makeコマンドで使用されているgccのバージョンを知る方法はありますか?コンピューターにgccの5つのバージョンがインストールされています:by dpkg -l | grep gcc

ii  gcc                                                   4:4.8.2-1ubuntu6                                    i386         GNU C compiler
ii  gcc-4.6                                               4.6.4-6ubuntu2                                      i386         GNU C compiler
ii  gcc-4.6-base:i386                                     4.6.4-6ubuntu2                                      i386         GCC, the GNU Compiler Collection (base package)
ii  gcc-4.8                                               4.8.2-19ubuntu1                                     i386         GNU C compiler
ii  gcc-4.8-base:i386                                     4.8.2-19ubuntu1                                     i386         GCC, the GNU Compiler Collection (base package)
ii  gcc-4.9-base:i386                                     4.9-20140406-0ubuntu1                               i386         GCC, the GNU Compiler Collection (base package)
ii  libgcc-4.8-dev:i386                                   4.8.2-19ubuntu1                                     i386         GCC support library (development files)
ii  libgcc1:i386                                          1:4.9-20140406-0ubuntu1                             i386         GCC support library

ターミナルを開き、次を入力します。

gcc --version  

希望するgccのバージョンではない場合、update-alternativesコマンドを使用してデフォルトのgccバージョンを変更し、どの実際のファイルがgccによって参照されているかなど、一般名で参照される実際のファイルを決定できます。詳細については、この質問に対する回答を参照してください: buntuでデフォルトのGCCコンパイラを変更する方法?

6
karel

メイクファイルは、コンパイラを明確に定義するのではなく、暗黙のルールを使用して物事をコンパイルすることがよくあります。この場合、慣例(およびデフォルト)は$(CC)を使用することであり、デフォルトはccです。したがって、cc --versionと入力すると、デフォルトでMakefileが使用するものが表示されます。

ただし、MakefileはCCの定義をオーバーライドするか、$(CC)をまったく使用しない場合があります。しかし、慣習です(configureスクリプトのautoconf内でも同様です)。

参照: https://stackoverflow.com/questions/2969222/make-gnu-make-use-a-different-compiler

5
Robie Basak

makeは、Makefileが指示することのみを行います。ほとんどのMakefileはデフォルトのgccコマンドを使用するため、ほとんどの場合karelの答えが当てはまりますが、makeにデフォルトのGCCを強制的に使用するものは何もないことに注意してください。 (さらに言えば、makeはCのコンパイル以外にも多くのことに使用できるため、GCCをまったく使用しないこともあります。)

3
fkraiem