Edited at

macOS 10.15 CatalinaとXcode 11で/usr/includeが見つからない問題

この記事は2019年10月30日に最終更新されたものであり、記事中の情報は既に古くなっている可能性があることに注意して読んでください。

macOS 10.15 Catalinaでは俺たちの/usr/includeは帰ってこないです。clang向けに--sysrootフラグを渡してやる方法などで解決している記事もありますが、SDKROOTを設定した場合はそれらは不要です。


注意

現在Homebrew/homebrew-core#45304にてLLVMパッケージのビルド時にデフォルトでsysrootを設定してやるPRを開き、議論をした結果、最終的に本日マージされました。ここではSDKROOTなどを設定することによって意図しないところにまで影響してしまう可能性についての話も上がっており、SDKROOTを設定するのが必ずしも良い解決法とは限りません。


解決策



  • SDKROOTを設定する

どちらかの方法で指定することが出来ます。また、実際に実行してみるとわかりますが、それぞれパスが違います。

export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"

export SDKROOT="$(DEVELOPER_DIR=/Library/Developer/CommandLineTools xcrun --sdk macosx --show-sdk-path)"


関連記事