macでmojaveからcatalinaにしたことで/usr/includeが消えてcppがコンパイルできなくなった
そして /usr/includeを復帰させることができないので、、、考えるのを辞めた。
結論
g++ --sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk <input file>
でbuild可能
経緯
とりあえず最新にするかーとcatalinaにアップデート後に、何気なくcppのコンパイルを試したら死んだ。
競プロ用に #include <bits/stdc++.h> しているのだが、それが
fatal error: assert.h: No such file or directory
というエラーで止まってしまうようになった。
諸々調べたところ、mojaveからcatalinaにアップデートすると/usr/includeが蒸発し、もう二度と帰ってこれないところに行き着くらしい。(/usr配下にはpermissionの関係でファイル作成等は不可っぽい)
ただし、xcodeやcommand line tool をインストールしていると下記のpathにヘッダファイル等が詰め込まれているようだ。
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
(環境によってやや場所は異なりそう)
ビルドする時にsysrootとしてそこを指定すれば通った。
やっぱり早いところmacは辞めてLinuxにしてしまいたい