2012-01-06 131 views
1

最近我一直在经历越来越多的破坏版本。 例如,当我访问Visual Studio的损坏版本

npc[4] 

它访问

npc[3]. 

或代替

details->Hp 

返回

details->Energy. 

问题奇迹般地自我修复的时候我rebui LD。 (之后我花了几个小时试图找到不存在的错误当然)

这越来越频繁,而我的项目变得越来越大。 为什么会出现这种情况? 我该如何避免它?

我希望我自己清楚。

谢谢。

+0

我假设你有一个错误的地方;) – Elalfer 2012-01-06 00:17:31

+0

如果它重建时自己修复,它什么时候破坏自己? – 2012-01-06 00:17:51

+2

没有足够的信息来回答这个问题。什么版本的Visual Studio?这是一个多项目解决方案吗?你确定所有的项目和库依赖项配置正确吗?你确定所有的项目和源文件都是用相同的选项构建的吗?从你的描述来看,这听起来像是你违反了单定义规则(ODR),因为某些东西没有按照要求重建。 – 2012-01-06 00:18:30

回答

1

感谢您的意见。我发现了这个问题。 预编译头文件。他们在一段时间后会腐败并导致意外行为。 因为我被迫使用pchs,所以目前似乎没有解决方案。

+1

AFAIK如果你编辑一个头文件,将其包含在预编译头文件中,那么你必须重新编译PCH手册:D如果你没有得到错误 – codekiddy 2012-01-09 03:24:44

+0

大部分时间它不关心。但显然不是所有的时间。 – mikbal 2012-01-09 03:35:22