C++ MSVS,我应该做什么文件“清理”? (错误:D8037)

2024-01-05

在 C++ MSVS2008 中工作,我遇到了越来越烦人的问题:断点在错误的行上执行、未捕获等。这是一个包含数千个文件的非常大的工作空间,所以我“忍受了”。

我经历了“标准”的东西(干净,“深度”干净,手动删除*.idb, *.pdb, *il*等)它没有解决“错误行断点”问题,但至少可以编译并且我可以运行/调试。

然后,(由于不相关的原因),我创建了一个命令行程序,它发出一个compile-one-CPP-to-OBJ命令,并得到一个奇怪的错误:

cl : Command line error D8037 : cannot create temporary il file; clean temp directory of old il files

我以前从未听说过这个问题,因此通过网络搜索,我访问了 Microsoft 网站,其中详细介绍了该错误:

http://msdn.microsoft.com/en-us/library/bb385201(v=VS.90).aspx http://msdn.microsoft.com/en-us/library/bb385201%28v=VS.90%29.aspx

嗯,嗯?在我的系统中TMPdir,显然太多了_CL_hhhhhhhh.ss文件。正在搜索,是的,我确实有6,063该目录中这些文件的数量,可以追溯到大约一年前。

我以前从未听说过这些文件(“临时编译器文件”)。搜索微软网站发现这个错误可能发生在at leastMSVS 2005、2008、2010。作为“临时”文件,我假设有某种“清理”或“回收”算法?

  • 多少_CL_hhhhhhhh.ss文件有限制吗? (我在 6,063 的一种情况下遇到了这个错误。)

  • 当我从 EXE 中而不是从 MSVS IDE 中执行“编译”时,为什么会看到此错误? (当我直接从命令行执行“编译”时,我也没有看到此错误。)

  • 我是否应该通过定期清理此类文件来对我的开发计算机进行“维护”?

  • 在查找和删除时我还需要考虑哪些其他“垃圾”文件?

顺便说一句,我知道 MSVS 项目 GUID 缓存在注册表中,以便 IDE 可以“查找”手动移动的项目文件以“修复”与其他项目文件的链接/依赖关系。如果有人有建议,我也想知道如何清理它们。

This does导致最终的问题,“在开发机器上使用 MSVS 会积累哪些隐藏的问题?”

Win7/64、C++ MSVS 2008、NTFS


我不确定您遇到问题的特定文件是否相当大(超过 10,000 行),但在 MSVS2008 中的这种情况下,我多次遇到过断点位于错误行上的相同问题。对我有用的解决方案(并提高了代码的可读性)是将一些函数逻辑地分组到一个类/命名空间中,并将它们放入一个新文件中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ MSVS,我应该做什么文件“清理”? (错误:D8037) 的相关文章

随机推荐