【Mac】競プロ用にgcc, g++ をバージョン5にしてみた話

環境設定
Free-Photos / Pixabay

前回の続き

【Mac】gcc,g++のバージョン8をHomebrewで更新してもXcodeのコンパイラが呼ばれる
競技プログラミングでbits/stdc++.hというヘッダを使いたかったが、XcodeのCommand Line Toolsでは使えないようなので、Homebrewでインストールすることにした。 Homebrewでインストール $ br...

Homebrewで最新版のgccをインストールしたは良いが、普段競プロで使うのはgccのバージョン5までなので、こちらを新しくインストールし直した。

gcc5のインストール

$ brew tap homebrew/versions
$ brew install gcc5

1行目で旧バージョン提供用のリポジトリを確認し、2行目でgccバージョン5をインストールしてくれる。

シンボリックリンクの貼り直し

前回gcc-8とg++-8が、gcc, g++コマンドで呼び出されるようにシンボリックリンクを貼った。

今回はこのシンボリックリンクがgcc5を参照するように張り直す。

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

シンボリックリンクを上書きする時は、-f オプションが必要なので注意。

gccのバージョン確認

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc@5/5.5.0_2/libexec/gcc/x86_64-apple-darwin17.3.0/5.5.0/lto-wrapper
Target: x86_64-apple-darwin17.3.0
Configured with: ../configure --build=x86_64-apple-darwin17.3.0 --prefix=/usr/local/Cellar/gcc@5/5.5.0_2 --libdir=/usr/local/Cellar/gcc@5/5.5.0_2/lib/gcc/5 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-5 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-system-zlib --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --enable-plugin --disable-werror --with-pkgversion='Homebrew GCC 5.5.0_2' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --disable-nls --enable-multilib
Thread model: posix
gcc version 5.5.0 (Homebrew GCC 5.5.0_2)

g++に関しても同様にすると、g++5が呼び出されていることが確認できる。

追記:でもc++14のオプションは面倒

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

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

競プロでautoが使いたくなったのでやはりg++-8に戻してみた。

【mac】c++14のオプションをつけるのが面倒なのでgcc-8に戻した話
前回の続き あらすじ Homebrewでmacにg++-8を導入したは良かったが、競プロの環境と同じ環境にするためにg++-5に変更した。 c++14のオプションが面倒 c++14 を使いたい時に、わざわざ毎回オプシ...

コメント