【mac】c++14のオプションをつけるのが面倒なのでgcc-8に戻した話

環境設定
Comfreak / Pixabay

前回の続き

【Mac】gcc,g++のバージョン8をHomebrewで更新してもXcodeのコンパイラが呼ばれる
競技プログラミングでbits/stdc++.hというヘッダを使いたかったが、XcodeのCommand Line Toolsでは使えないようなので、Homebrewでインストールすることにした。 Homebrewでインストール $ br...
【Mac】競プロ用にgcc, g++ をバージョン5にしてみた話
前回の続き Homebrewで最新版のgccをインストールしたは良いが、普段競プロで使うのはgccのバージョン5までなので、こちらを新しくインストールし直した。 gcc5のインストール $ brew tap homebre...

あらすじ

Homebrewでmacにg++-8を導入したは良かったが、競プロの環境と同じ環境にするためにg++-5に変更した。

c++14のオプションが面倒

c++14 を使いたい時に、わざわざ毎回オプションをつけるのは面倒。

とくにバージョン5だと、デフォルトでc++11が使えないので、autoが使えないようだ。

gcc, g++ をバージョン8に戻す

まずはシンボリックリンクを張り直す

前回入れたgcc-8, g++-8に戻すためにシンボリックリンクを張り直す。

$ ln -fs /usr/local/bin/gcc-8 /usr/local/bin/gcc
$ ln -fs /usr/local/bin/g++-8 /usr/local/bin/g++

ここでも -f オプションを付けておかないとエラーになる。

gcc -v や g++ -v などでちゃんと変わったか確認しておこう。

gcc-5をアンインストール

$ brew uninstall gcc5

これでgccのバージョン5がちゃんと消える。

アンインストールできたかの確認も一応しておこう。

$ ls /usr/local/bin | grep gcc
$ ls /usr/local/bin | grep g++

これでg++14が使える

デフォルトでg++14が使えるそうなので、もう煩わしいオプションなどを考える必要がなくなった。これで一段落。

gccのバージョンの違いによるエラーが競プロをやっている時に起きる可能性はあるが、Atcoderなどで対応していない、C++14の新機能を使わないようにすれば大丈夫だろう。

コメント