2011-03-08 88 views
0

我现在正在使用Visual 2010 6个月,而且我有一个生成bug regulary。这让我回到了视觉7的黑暗时代:当有人发生崩溃时,您的第一个答案是:您是否全部重建?VS2010在更改.H文件时在C++中创建错误

在我的项目中,如果我修改我的包含文件之一,它有时不会使用这个包含文件重新编译所有CPP文件(它也发生在没有预编译头文件的情况下,并且我在a.cpp中发现了这个错误,没有其他包含文件,所以它不是“复杂的”) 所以我的类的一些实例是不正确的。很多时候,如果我修改一个.H文件,编译,它会构建项目并说构建成功。之后,如果我重建所有它发现编译错误,当然我删除(例如)我的类中的成员,它不重新编译。

我首先想到的是,这是我的项目。 (从Vs2003,Vs2005,Vs2008和Vs2010转换而来)。所以我尝试了另一个项目从头开始VS2010项目。只有10 cpp和10 .h。没有预编译的文件。我有完全相同的错误!

安装了SP1(即修复了查找窗口!!)这个bug仍然存在。

任何人都有解决方案或有与我一样的错误,找不到任何关于谷歌的事情?

+0

这是一个非常模糊的故障模式。使用connect.microsoft.com告诉开发人员它。你真的必须更好地记录你的问题,但是如果他们无法重现问题,他们会很快解雇你。这里也会发生。 – 2011-03-08 15:16:26

回答

0

一对夫妇的想法:

  1. 有时候,如果有与您的系统时钟或文件修改日期的怪事会发生这种情况。尝试重置修改日期。也许最简单的方法是通过压缩项目,然后提取顶部。当然,还要删除您的.suo.ncb文件。

  2. 确保.h文件在项目树中。如果它是#included,但不是专门在项目树中,我不相信VS会始终识别变化。

+0

我们#include标题,但不要将它们添加到项目中。磁盘上的文件更改导致我们的项目重建。另外,我认为.ncb文件仅用于智能感知,不能识别标题更改。但我同意时间戳评论。也许找到一个“触摸”实用程序来更新时间戳。 – reuscam 2011-03-08 15:10:38