macで<bits/stdc++.h>を使えるようにする
*macOS Catalina で使えるようにする記事はこちら(2019年12月22日追記)
C++競プロerのみなさん,bits/stdc++.h はご存知でしょうか.
gccコンパイラで用意されているヘッダで,これをインクルードするとすべてのヘッダがインクルードされます.非常に便利です.
が,こいつをインクルードするのは非常に大変です.PC初心者はお手上げです.
競プロを初めて約半年,やっと正式にインクルードできるようになったので,ここに書きたいと思います.
環境
macOS Mojave (MacBook Pro 2016)
Xcode Version 10.2
今までの状況
今回設定する以前までは,Xcodeのインクルードパスが通っているディレクトリに,githubからダウンロードしたstdc++.hを突っ込んでいました.
この方法では,Xcodeが更新されるたびにstdc++.hが消えてしまいます.
gccのインストール
まずbrewでgccをインストールします(brewがわからない人はHomebrewとググってください)
$ brew install gcc
gccのシンボリックリンクを貼る
brewで入れたgccを使うために,コマンド検索パスの通っているディレクトリにgccのシンボリックリンクを貼ります
brewで入れたパッケージは /usr/local/Cellar に保存されます.本体は .../Cellar/gcc/8.2.0/bin/g++-8とgcc-8ですので,これらのリンクを貼ります
$ ln -s /usr/local/Cellar/gcc/8.2.0/bin/g++-8 /usr/local/bin
$ ln -s /usr/local/Cellar/gcc/8.2.0/bin/gcc-8 /usr/local/bin
xcode-select --install を実行
自分の環境では,assert.hなどのヘッダが見つからないと怒られたので,これを実行して,ヘッダをインストールするパッケージを入れる準備をします
$ xcode-select --install
ヘッダをインストール
先ほど入れたCommandLineToolsの中にあるインストーラを起動します
$ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
インストールが終わったら完了だと思います.