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-11
やg++-11
のようにGCCコンパイラのバージョンをつけたものになります。
そのため、ソースコードをコンパイルする場合は、これらのコマンドを利用します。もしくは、次のように~/.zshrc
に記述して、エイリアスを設定します。
alias gcc='gcc-11'
alias g++='g++-11'
これで、GCCコンパイラのインストールと設定までできました。
さいごに
macOSでは、デフォルトで様々使いやすくなっていますが、ユーザーが細かい設定をしたい場合に面倒なことが多いです。もう少し細かい設定もしやすくなればいいのにと思うのですが、思想が異なるので仕方ないのかと諦めもあります。