M1 MacでC++のGCC環境構築した時のメモ

はじめに

競プロ始めようかなと思ったのですが、言語選択で何にしようか若干悩みました。
普段慣れているKotlinやJavaScriptでもいいかなと思ったのですが、折角ならC++でやってみるかと思いました。 (サンプルコードもたくさん読めますしね)

ということで、C++の環境構築をしたので、そのメモです。
C++にはGCCやClangというコンパイルする環境があり、Macの標準ではClangが搭載されているようです。
GCCでは、stdc++.hをincludeすればC++の標準ライブラリを色々使えるので、競プロで使うにはいいという記事をたくさん目にしたので、自分もGCC環境構築していこうと思います。

環境構築

GCCインストール

homebrewを使って以下でやりました。

$ brew install gcc

以下のコマンドで、GCCが正しくインストールされているかどうかを確認するとともに、GCCのバージョンを確認します。

$ brew info gcc

これにより、インストールされているGCCのバージョンとその他の詳細情報が表示されます。

GCCが呼び出されるようにする

GCCインストールしただけだと、clangの方が呼び出される状態になっています。
なので、gccとg++のシンボリックリンクを作成します。

まずは、GCCがインストールされたパスの確認です。 M1 Macでは、/opt/homebrew/bin/にインストールされるようです。
以下で確認してみます。パスが表示されていればOKです。

ls /opt/homebrew/bin/gcc-*

確認できたら、以下のコマンドを使用してgccとg++のシンボリックリンクを作成します。
ただし、{version}は確認したGCCのバージョンに置き換えてください(例だと13になっています)。

ln -s /opt/homebrew/bin/gcc-13 /usr/local/bin/gcc
ln -s /opt/homebrew/bin/g++-13 /usr/local/bin/g++

これらのコマンドにより、/usr/local/bin/ ディレクトリ内に gcc と g++ の名前でシンボリックリンクを作成されます。それにより、gcc や g++ を実行したときに homebrew でインストールした GCC が使われるようになります。

g++の呼び出し先を確認してみましょう。

which g++

/usr/local/bin/g++となっていればOKです。

参考