VS 2017每次都会重新编译所有文件

时间:2019-03-26 13:39:14

标签: c++ visual-studio build

每次按 Build> Build Solution(F7)时,Visual Studio都会重新构建整个项目。即使没有修改代码。

它发生在所有项目上,我可以使用空白项目重现“错误”。显然,这与跟踪日志文件有关。您可以在 Diagnostic 构建日志输出中找到以下内容:

pch.cpp will be compiled because it was not found in the tracking log. (TaskId:22)

让我向您展示我的问题的完整示例。

首先,我创建一个空项目。 enter image description here 我的构建和运行设置如下。 enter image description here 第一次构建时,我得到以下信息:

1>------ Build started: Project: SimpleTrackingLogTest, Configuration: Debug Win32 ------
1>pch.cpp
1>SimpleTrackingLogTest.cpp
1>SimpleTrackingLogTest.vcxproj -> C:\kmasson\lab\SimpleTrackingLogTest\Debug\SimpleTrackingLogTest.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

第二次在不修改代码的情况下,我得到了完全相同的输出。

在位于 Debug\SolutionName.log 的完整日志中,您可以找到为什么通过使用Ctrl + F搜索“将被编译” 来重新编译所有文件的原因。每个源文件只有一行。

Read Tracking Logs: (TaskId:22)
 Debug\SimpleTr.7CB9D8E0.tlog\CL.read.1.tlog (TaskId:22)
 Outputs for ...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\PCH.CPP: (TaskId:22)
      ...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\DEBUG\PCH.OBJ (TaskId:22)
      ...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\DEBUG\SIMPLETRACKINGLOGTEST.PCH (TaskId:22)
 pch.cpp will be compiled because it was not found in the tracking log. (TaskId:22)

CL.read.1.tlog 包含许多指向 Program Files(x86) Windows 的行,还包含以下两行({ {1}}确实在文件中):

^

我不明白为什么跟踪日志文件不起作用。它发生在我正在处理的一个大项目上,而且每次我要构建它时都无法使用,它会重新构建整个项目。另外,对于我正在从事的大项目而言,跟踪日志文件似乎也变小了。好像它没有生成应有的内容。

我在网上搜索了有关跟踪日志文件的信息,但是关于它们的信息很少。我试图完全重新安装Visual Studio,禁用Windows Defender并删除本地用户 Temp 目录。

如果您需要有关我的设置的任何信息,请询问。

1 个答案:

答案 0 :(得分:0)

我找到了一种使其工作的方法。它与项目的位置有关。它适用于C:\Users\kmasson,但不适用于C:\kmasson。尽管我拥有读/写权限,但我甚至试图以管理员身份运行VS。我不明白为什么它不起作用,但现在问题已解决。

相关问题