Visual studio 2013出现BK4503小错误后突然编译好慢

Visual studio 2013 suddenly compiling really slow after BK4503 minor error appeared

我在编译时开始收到此消息

BSCMAKE:警告 BK4503:.SBR 文件中的小错误'C:\leisec-pcpcd.pcpcd\code\PCPCD\Debug\x64\build\Configuration.sbr'已忽略

我最近没有更改 Configuration.cpp 文件。 我已尝试删除 Configuration.sbr,或清理解决方案并重建。 此警告再次出现。 我不介意这个警告。我介意的是,既然出现了,编译解决方案 变得非常慢,即使只更改了一个 cpp 文件。

顺便说一下,我在旧版本的 MSVS 中找到了关于 BK4503 的帖子,但这些对我没有帮助。

另外,这种突然变慢的编译只是在调试模式下。

成功了。 万一其他人遇到它: 您转到项目 属性 页面 -> 浏览信息 -> 保留 SBR 文件

并将其设置为“否”

虽然不是 Visual Studio 2013 年,但我可以在 Visual Studio 2015 年按需复制 BK4503,这可能会对其他 Google 员工有所帮助。

这可能不是最小的复制来源,但它与我最初遇到它的形式相同。不会出现在 VS2013 中,但会出现在 VS2015 中。我不确定这是否是一个错误,所以还没有提出来。

我确实尝试对比了bsc文件的前后对比,但这真的不是我擅长的领域!

创建一个空的控制台项目,启用浏览信息,然后复制这段代码。注释掉 push_back 行将阻止警告;留下它会导致它:

#include <functional>
#include <vector>

enum return_type
{
    foo = 0,
    bar
};

std::vector<std::function<return_type()>> funcs;

class FooBar
{
public:
    return_type Foobar()
    {
        return bar;
    }
};

int main(int argc, char** argv)
{
    FooBar fb;
    funcs.push_back(std::bind(&FooBar::Foobar, &fb));
    return 0;
}