当我在 Visual Studio 中调试我的 C++ 项目时,会弹出一个小警告对话框,告诉我:
A copy of datum.h was found in
c:/users/brad/desktop/source/binary/datum.h, but the current
source code is different from the version built into
c:/users/brad/desktop/source/binary/datum.h.
我无法理解这甚至试图告诉我什么,更不用说如何解决它了。起初我以为可能是抱怨我不小心复制了目录中的一个文件,我检查了它,但没有发现任何类似的东西,这让我很困惑。我还尝试从解决方案中排除该文件并再次添加它,这也没有解决问题。
该警告似乎并没有真正阻碍我的项目的开发,但我认为警告的存在是有原因的,所以如果有人知道出了什么问题,任何建议都将不胜感激。据我所知,我没有进行任何更改以导致消息出现,它只是在我去调试解决方案时弹出,并且从那以后一直出现。
此外,已经开始弹出更多相同警告的副本,与我的解决方案中的其他头文件有关(我还没有收到任何关于 .cpp 文件的信息,但这可能是巧合,因为它只持续了大约 20分钟)。
原文由 brads3290 发布,翻译遵循 CC BY-SA 4.0 许可协议
您是否有机会调试另一个可执行文件(不是实际构建的那个?)。在 Visual Studio 在一个目录中构建二进制文件但随后将它们复制到其他目录进行调试的情况下,这是一个常见问题。我建议您比较调试设置下的目标路径和Visual Studio中常规设置下的输出目录。
这可以解释这个问题,因为您实际上是在调试一些旧版本的二进制文件(不是当前构建的那个),因此会发出警告,因为 Visual Studio 找不到该版本的二进制文件的源文件版本。