升级El Caption后,苹果加入了新的系统完整性保护,并且重置了开发工具的配置。于是Clang的包含文件搜索路径中缺少了/usr/local/*
解决方案如下(来自StackOverflow):
xcode-select --install
通过这条命令重新安装CLI工具之后,问题解决。
关于编译器的包含文件/库文件搜索顺序,可以参阅这篇文章:
总结起来大概有以下几点:
- 搜索路径和顺序被硬编码到编译器/连接器中。
- 可以通过导入环境变量来增加搜索路径。
- 当然可以通过编译选项(IDE,MAKEFILE,CLI)来指定路径。