gpt4 book ai didi

c++ - VS 2017 每次都重新编译所有文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:39:08 24 4
gpt4 key购买 nike

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

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

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

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

首先,我创建一个空项目。 enter image description here我的 Build and Run 设置如下。 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 的行,还有以下两行(^ 确实在文件中):

^C:\...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\PCH.CPP
... Some .DLL
^C:\...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST.CPP
... Many .DLL,.NDS, .H..

我不明白为什么跟踪日志文件不起作用。它发生在我正在处理的一个大项目上,它只是无法使用,每次我想构建它时都会重建整个项目。此外,对于我正在处理的大项目来说,跟踪日志文件似乎太小了。好像它没有产生它应该产生的东西。

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

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

最佳答案

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

关于c++ - VS 2017 每次都重新编译所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55358579/

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