[英]Visual Studio 2019 debugger steps into header file instead of cpp
[英]Visual Studio 2019 not building all cpp files when a header file changes
我一直在试图弄清楚为什么 Visual Studio 没有重新编译我的库项目中受头文件更改影响的所有编译单元。
假设我有以下头文件TestA.h
:
class TestA
{
public:
int GetNumber() { return 0 };
std::string GetString(); // implemented in TestA.cpp
}
假设我有 3 个 .cpp 文件TestA.cpp
TestB.cpp
TestC.cpp
TestA.cpp
只包含函数实现的TestA
然而, TestB.cpp
和TestC.cpp
遵循某种方式:
#include "TestA.h"
....
TestA* aObject = new TestA();
int aNumber = aObject->GetNumber();
...
这就是问题所在,如果我将 TestA.h 中的函数GetNumber
更改为GetNumber1
Visual Studio 和 msbuild 命令行将仅构建 TestA.cpp 并且它将成功编译。 然后它将使用现在陈旧的 .obj 文件生成 .lib。 然而,如果我重建,那么我会得到我期望的错误。 我尝试启用/禁用增量链接、最小重建、托管增量构建。
我可以通过从中间目录中删除 .obj 和 .tlog 文件来实现所需的行为。
任何帮助表示赞赏
谢谢苏梅
所以在用尽我所有的想法之后,我决定尝试重新创建这个项目。 这解决了它! 不确定到底发生了什么,但删除所有 vcxproj 文件并从头开始重新创建 vcxproj 解决了我的问题。 不确定到底发生了什么变化,但这似乎解决了它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.