gpt4 book ai didi

visual-studio-2010 - 可执行文件未重建,但目标文件已重新编译

转载 作者:行者123 更新时间:2023-12-02 03:56:53 28 4
gpt4 key购买 nike

使用 Visual Studio 2012 构建基本的 C++ 项目。当我更改源文件时:

  • 编译相应的目标文件
  • 编译器的 .tlog 文件已更新
  • 更新了 PDB 文件
  • 但是链接器的 .tlog 文件没有改变
  • 链接器声称所有输出都是最新的。并且不会构建新的可执行文件。

要生成可执行文件的唯一方法是删除它。跟踪系统似乎出了点问题,我想知道是否有人可以阐明这个问题。

这是我更改两个文件后的 msbuild 输出、完整路径和一些其他省略的内容(此输出适用于 VS2010 工具集,但 2012 行为相同):

 1>Target "ClCompile" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.targets"...
Using "CL" task from assembly "Microsoft.Build.CppTasks.Win32, Version=4.0.0.0...
Task "CL"
Read Tracking Logs:
cl.read.1.tlog
CL.2520.read.1.tlog
...
Outputs for ....
XXX.OBJ
YYY.OBJ
...
xxx.cpp will be compiled as xxx.cpp was modified...
yyy.cpp will be compiled as yyy.cpp was modified...
Write Tracking Logs:
cl.write.1.tlog
CL.2520.write.1.tlog
...
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe ....
Tracking command:
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\Tracker.exe ....
xxx.cpp
yyy.cpp
Done executing task "CL".
1>Done building target "ClCompile" in project "xxx.vcxproj".

到目前为止,还不错。现在链接器启动(好吧,它没有):

1>Target "Link" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.targets"....
Using "Link" task from assembly "Microsoft.Build.CppTasks.Win32, Version=4.0.0.0...
Task "Link"
Using cached output dependency table built from:
link.write.1.tlog
Using cached input dependency table built from:
ink.read.1.tlog
Outputs for ....
MY.EXE
MY.PDB
All outputs are up-to-date.
Done executing task "Link".
Task "Message"
xxx.vcxproj -> my.exe
Done executing task "Message".
1>Done building target "Link" in project "xxx.vcxproj".

最佳答案

在逐一检查了属性表中的所有选项后,似乎这个问题的唯一根源是我们将中间目录设置为另一个驱动器上的目录。我们总是在 %TEMP% 中进行源外构建,而且大多数时候项目位于另一个驱动器上。

提交错误报告 here包括重现问题的简单步骤。希望这能尽快得到解决。当前的解决方案是将 IntDir 设置为与项目位于同一驱动器上的目录。

更新

为这个问题提交的错误报告被关闭为“设计”:似乎中间目录不应该是 %TEMP% 或 %TMP% 或它们的任何子目录。令人不安,但至少我现在知道出了什么问题。

关于visual-studio-2010 - 可执行文件未重建,但目标文件已重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12182203/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com