在BK4503出现轻微错误后,Visual Studio 2013突然编译得非常慢

时间:2015-01-09 14:06:50

标签: c++ visual-studio-2013

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

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

我最近没有随时更改Configuration.cpp文件。 我试图删除Configuration.sbr,或清理解决方案并重建。 此警告再次出现。 我不介意警告。我要记住的是,自从出现这种情况后,编制解决方案 即使只有一个cpp文件被更改,它也变得非常慢。

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

此外,这种突然缓慢的编译仅在调试模式下。

2 个答案:

答案 0 :(得分:5)

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

并将其设置为“否”

答案 1 :(得分:1)

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

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

我确实尝试过比较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;
}