2008-12-31 40 views
1

现在越来越多的人在构建大型项目时遇到以下错误。无法在编译时创建临时文件

致命错误C1083:无法打开 编译器中间文件: 'C:\ TEMP \ SYS \ a03132ex':拒绝

它发生在Visual Studio 2003和VC6,我有权限 调查了潜在的MSDN原因,并得出了一个空白。硬盘上有足够的空间,并没有很多其他程序打开,我应该用尽手柄。任何想法,或者是时候重新安装Windows了。顺便说一句,我正在运行XP SP3,并且有两个大文件的NTFS硬盘。

编辑:临时文件的名称发生变化,并且我清除了整个c:\ temp文件夹。

+0

作为管理用户运行吗?或有限的用户? – EvilTeach 2009-01-08 23:09:20

+0

你可以使用Windows资源管理器在c:\ Temp \ SYS中创建一个文本文件吗? – EvilTeach 2009-01-08 23:10:26

回答

1

我似乎记得从某个深层次的内存通道中删除由visual studio为该项目创建的临时文件修复了此问题(直到它再次弹出)。

临时文件与您的项目具有相同的名称。 (如果没有帮助的话,你的主目录中可能还会有一些与VC/VS相关的东西)。

1

如果这没有帮助,请检查您的TMP环境设置是否不以分号结尾。它也应该是一个完全合格的路径,而不是相对的。

编辑:我在the internet上发现了一个关于它的话题,那里有人说如果你试图包含一个目录而不是文件,你可以触发那个非常相同的错误。

我假设你已经验证了这一点,但实际的C:\ Temp \ SYS文件夹是否具有正确的权限(即允许所有用户读/写其中的文件)?

1

你也可以查看与c:\tempc:\temp\sys关联的权限(如果SYS不编译会话之外存在)

cacls c:\temp 

另外,(如suggested here),尝试在高级选项设置编译器标志和-Bd检查参数到编译器中。也许你打算指定一个路径并最终编译一个不存在的文件?

1

保持您的临时文件位置很简单,例如,当我将笔记本电脑中的项目复制到办公室PC时,VS2003项目未编译。“tmp”系统变量指向%USERPROFILE%/ TEMP。视觉工作室2003给几个“致命错误C1083:无法打开编译器中间文件:”错误

我在C驱动器上做了一个新的Temp文件夹,并将系统变量TMP更改为“C:/ TEMP”。重新编译该程序,Voilà没有错误!

0

不要点击在编译重建按钮,单击只构建按钮 - 这解决我的问题

0

我有完全一样的问题。在构建项目时禁用防病毒解决了该问题。一个可能的永久解决方案是将VS的临时目录设置在其他地方,并告诉防病毒服务器排除该目录。