VS2012:将中间目录更改为TEMP文件夹会导致链接器不更新可执行文件

时间:2015-05-16 14:25:43

标签: visual-studio-2012

这是一个非常奇怪的问题,我遇到并花了几个小时来缩小范围。

重现的步骤:

  1. 在Windows 8上,在Visual Studio 2012中创建一个简单的VC ++项目(控制台)。

  2. 构建并运行可执行文件。

  3. 如果对源文件和构建进行更改,则链接器会更新可执行文件。这是预期的。

  4. 现在将中间目录(在Project Properties - > General下)更改为$ TEMP文件夹,默认情况下为:

  5.   

    C:\ Users \ 用户名 \ AppData \ Local \ Temp

    1. 现在,如果您对源代码和构建进行了更改,则会显示构建成功但可执行文件将更新
    2. 如果我们将中间文件夹更改为$ TEMP以外的任何内容,这确实很奇怪且令人惊讶,它完美无缺。

      知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

经过大量的搜索和调查后,我终于在微软网站的一个角落里找到了它,这在Visual Studio中是真正的问题。据报道here

按照规定:

  

Microsoft于2012年11月16日下午7:08发布

     

感谢您的日志。构建系统不支持中级   目录为和/或Temp目录的子文件夹。

     

IntDir = c:\ temp \ buildme \
  TEMP = c:\ temp   你能将IntDir更改为另一个文件夹,看看问题是否仍然存在?

     

由于

  

Microsoft于2014年4月29日下午12:31发布

     

感谢您报告此问题。此问题已在Visual Studio 2013中得到修复。您可以使用以下修复程序安装Visual Studio 2013的试用版:http://go.microsoft.com/?linkid=9832436