macOSではgccを使うには一手間必要

目次

概要

macでGCCコンパイラを使いたいとなったのですが、gccコマンドを使ってみると、GCCコンパイラではなくclangコンパイラが起動しました。

ここでは、macOSでもちゃんとGCCコンパイラを使う方法を紹介します。

環境

  • mac mini 2018
  • macOS Monterey 12.3.1

clangコンパイラについて

C言語やC++言語のコンパイラとして有名なものにGCCコンパイラとClangコンパイラがあります。

macOSでは、iPhoneやiPadなどのアプリの開発にXcodeを利用しますが、こちらにコンパイラが付属しています。しかしこのコンパイラはClangコンパイラで、こちらをインストールするとclangコマンドのエイリアスとしてgccが設定されてしまします。

そのため、gcc -vを実行するとこのような出力となります。

Apple clang version 13.1.6 (clang-1316.0.21.2)
Target: x86_64-apple-darwin21.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

clangが実行されているのが分かります。

GCCコンパイラのインストール

GCCコンパイラが使いたい場合、これでは都合が悪いです。

そこで、Homebrewを利用して、GCCコンパイラをインストールします。

HomebrewでGCCコンパイラをインストールするには次のコマンドを実行します。

brew install gcc

これで、C言語とC++言語の両方で使えるGCCコンパイラがインストールできました。

エイリアスについて

Homebrewでコンパイラをインストールしたとしても、gccやg++のようなコマンドは置き換わりません。

Homebrewでインストールされるコンパイラのコマンドは、gcc-11g++-11のようにGCCコンパイラのバージョンをつけたものになります。

そのため、ソースコードをコンパイルする場合は、これらのコマンドを利用します。もしくは、次のように~/.zshrcに記述して、エイリアスを設定します。

alias gcc='gcc-11'
alias g++='g++-11'

これで、GCCコンパイラのインストールと設定までできました。

さいごに

macOSでは、デフォルトで様々使いやすくなっていますが、ユーザーが細かい設定をしたい場合に面倒なことが多いです。もう少し細かい設定もしやすくなればいいのにと思うのですが、思想が異なるので仕方ないのかと諦めもあります。