如何防止 Xcode 4.2 用 preamble.pch 文件填充我的启动驱动器?
Xcode 4.2 中存在一个问题,Xcode 会在我的启动驱动器中填充数十 GB 的 preamble.pch-******
文件,位于 /private/var/folders/ 中的某个位置
。
有人知道如何防止这种情况发生吗?
这意味着我必须每隔几个小时手动清空这些文件(如有必要,退出/重新启动 Xcode),以防止我的启动驱动器填满。如果可能的话,我(可能)宁愿恢复到旧的行为,也不愿创建一些脚本或程序来每小时系统地删除这些内容。
其他:
- 我的构建不使用预编译标头(看起来这些标头是由 Xcode 的文本编辑器使用 Clang 的代码感知索引生成的)。
- 对于我的启动分区来说,几十 GB 已经很多了;我使用了几个小分区。
谢谢
There's an issue in Xcode 4.2, where Xcode will fill my boot drive with tens of GB of preamble.pch-******
files, someplace within /private/var/folders/
.
Does anybody know how to prevent this from happening?
This means I have to manually empty these files every few hours (quitting/restarting Xcode if necessary), to prevent my boot drive from filling up. I'd (likely) rather revert to the old behavior than create some script or program to systematically remove these every hour, if possible.
Misc:
- My builds do not use precompiled headers (it looks like these are being generated by Xcode's text editors, using Clang's code sense indexing).
- Tens of GB is a lot for my boot partitions; I use several small partitions.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不是 clang 专家,但快速浏览一下 lib/Frontend/ASUnit.cpp 就会发现 GetPreamblePCHPath() 将使用三个环境变量的值 - 按顺序:
TMPDIR
、TEMP< /code> 和
TMP
— 默认为 /tmp 作为前导 PCH 文件的位置。一种(不是真正理想的)解决方案是将这些变量之一设置为驻留在另一个卷中的目录。I’m no clang expert, but a quick glance at lib/Frontend/ASUnit.cpp reveals that GetPreamblePCHPath() will use the value of three environment variables — in order:
TMPDIR
,TEMP
andTMP
— before defaulting to /tmp as the location of preamble PCH files. One (not really ideal) solution is to set one of those variables to a directory residing in another volume.禁用 Xcode 的代码感知索引是解决此问题的一种方法。尽管如此,这并不总是理想的,我对其他解决方案持开放态度。
Disabling Xcode's code sense indexing is one way to work around this. Still, this is not always ideal, and I am open to other solutions.