OS X El Capitan 中缺少 /usr/include

nsi*_*ion 20 osx-el-capitan macos

我试图构建一个依赖于PJSIPlib的应用程序,它应该在/usr/include. 但是没有/usr/include文件夹,即使我的帐户具有管理员权限,我也无法创建文件夹。

如何include激活/创建/恢复文件夹?

ilo*_*sey 15

更新(2016 年 2 月 12 日):

我终于安装了 El Capitan,现在可以确认 Ond?ej?ertík 的答案是正确的。我强烈建议安装命令行开发人员工具而不是禁用 SIP。

正如 Ond?ej 所指出的,仅仅安装 Xcode 不会安装所有的命令行开发工具。您必须xcode-select --install在终端中执行。


原帖(2015 年 12 月 5 日):

在 El Capitan 中,默认情况下已禁用对 /System、/bin、/sbin、/usr、/etc、/tmp 和 /var 的写访问权限,即使对于 root 也是如此。这是由于新的安全完整性保护功能。

禁用 SIP,请启动到恢复模式并csrutil disable在终端中执行命令。

免责声明:因为我还没有升级到 El Capitan,所以我自己没有测试过。

  • 在我的系统上,正确的修复方法是使用 `xcode-select --install` 安装 `/usr/include` 并启用 SIP。有关更多信息,请参阅下面的答案。 (3认同)

Ond*_*tík 14

默认情况下,当您从 El Capitan 上的 App Store 安装 Xcode(“开发人员工具”)时,它不会安装包含/usr/include. 要安装“命令行开发工具”,执行xcode-select --install,它会提示你是否要从 App Store 获取 Xcode+命令行工具(但我已经从 App Store 安装了 Xcode,它显然不包含命令行实用程序),所以我选择了“安装”并安装/usr/include了其他东西。

至于系统完整性保护 (SIP),请启用它,因为这似乎是一件好事。之所以xcode-select --install成功地安装到受保护的/usr目录可能是因为xcode-select被列入白名单SIP。