我试图构建一个依赖于PJSIP
lib 的应用程序,该 lib 中应该有一些标题/usr/include
。但没有/usr/include
文件夹,即使我的帐户具有管理员权限,我也无法创建一个。
如何include
激活/创建/恢复文件夹?
答案1
更新(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 用户也是如此。这是由于新的安全完整性保护特征。
到禁用 SIPcsrutil disable
,启动到恢复模式并在终端中执行命令。
免责声明:由于我还没有升级到 El Capitan,所以我自己还没有测试过这个。
答案2
默认情况下,当您从 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 列入了白名单。