27
16

Mac ユーザーのための c++ <bits/stdc++.h> インクルード方法

Last updated at Posted at 2019-07-30

#なぜこの記事を書こうと思ったのか
最近競技プログラミングなるものを始め, c++ でコードを書いているときにいちいち


#include <iostream>
#include <vector>
#include <algorightm>
#include <map>
#include <tuple>
#include <cstudio>

とかたくさん書いてたんですが上位の方のコードを見ると

#include <bits/stdc++.h>

の 1 行で終わっていました.
これはなんだ !! と思い調べてみたら, これを書くだけで全てのヘッダがインクルードできるそうです.
つまり上記のように何行も書かなくて OK !

ただ, Mac で普通にインクルードしようとすると, 「そんなファイルありません」とエラーが帰ってきます.

実践

  • homebrew にて gcc をインストール  
$ brew install gcc
  • gcc のエイリアスを探す
$ ls /usr/local/bin | grep gcc
$ ls /usr/local/bin | grep g++

gcc-10 や g++-10 が目的のものなので、
それらに対してシンボリックリンクを貼ります。

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

これで Mac に元から入っている gcc (clang) の呪縛から解き放たれました。
真に gcc でコンパイルできるようになったので bits/stdc++.h のインクルードができていると思います。

どうしてもうまくいかなかったら

1.Finder で command + shift + g で出てきた検索 window に /usr/local/include と入れます.
飛んだ場所で bits という名前の 新しいフォルダを作ります.
2.そのフォルダの中に入って https://gist.github.com/frankchen0130/9ac562b55fa7e03689bca30d0e52b0e5 にあるヘッダファイルをコピー, 貼り付けします.

終了です.

もしどなたかの役に立てれば幸いです.

27
16
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
16