编译时无法创建临时文件

时间:2008-12-31 12:52:48

标签: visual-c++ visual-studio-2005 vc6 compiler-construction

我现在越来越多地发现当我构建一个大型项目时,我收到以下错误。

  

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

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

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

6 个答案:

答案 0 :(得分:1)

我似乎记得从内存通道的某个地方删除了Visual Studio为该项目创建的临时文件修复了这个问题(直到它再次弹出)。

临时文件与项目名称相同。 (如果没有帮助,主目录中可能还有VC / VS相关的内容。)

答案 1 :(得分:1)

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

编辑:我在the internet上找到了一个关于它的主题,据说如果你试图包含目录而不是文件,你可以触发同样的错误。

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

答案 2 :(得分:1)

您还可以检查与c:\tempc:\temp\sys相关联的权限(如果sys确实存在于编译会话之外)

cacls c:\temp

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

答案 3 :(得分:1)

保持临时文件位置简单,例如当我将项目从笔记本电脑复制到我的办公室电脑时,VS2003项目无法编译。“tmp”系统变量指向%USERPROFILE%/ TEMP。 Visual Studio 2003提供了一些“致命错误C1083:无法打开编译器中间文件:”错误

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

答案 4 :(得分:0)

不要点击编辑器中的重建按钮,只需点击构建按钮 - 这样可以解决我的问题

答案 5 :(得分:0)

我有完全相同的问题。在构建项目时禁用防病毒功能可以解决该问题。一个可能的永久解决方案是将VS的临时目录设置在其他位置并告诉防病毒软件排除该目录。