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コンパイラを変更する方法? 。
メイクファイルは、コンパイラを明確に定義するのではなく、暗黙のルールを使用して物事をコンパイルすることがよくあります。この場合、慣例(およびデフォルト)は$(CC)
を使用することであり、デフォルトはcc
です。したがって、cc --version
と入力すると、デフォルトでMakefileが使用するものが表示されます。
ただし、MakefileはCC
の定義をオーバーライドするか、$(CC)
をまったく使用しない場合があります。しかし、慣習です(configure
スクリプトのautoconf内でも同様です)。
参照: https://stackoverflow.com/questions/2969222/make-gnu-make-use-a-different-compiler
make
は、Makefileが指示することのみを行います。ほとんどのMakefileはデフォルトのgcc
コマンドを使用するため、ほとんどの場合karelの答えが当てはまりますが、make
にデフォルトのGCCを強制的に使用するものは何もないことに注意してください。 (さらに言えば、make
はCのコンパイル以外にも多くのことに使用できるため、GCCをまったく使用しないこともあります。)