我使用的是 Visual Studio 2010。C1001 错误(内部编译器错误)仅发生在发布配置中。调试编译正常。在这种情况下,我应该注意什么以防止在配置差异方面发生这种情况?
我知道内部编译器错误是什么,问题是如果它只是发布问题,应该采取什么方法。到目前为止,围绕提到的行(在错误消息中)修改代码并没有帮助,这些行一直在变化,我也想知道这是否会成为一个红鲱鱼?我已经尝试更改已经阅读过类似问题的一些答案的优化。
我使用的是 Visual Studio 2010。C1001 错误(内部编译器错误)仅发生在发布配置中。调试编译正常。在这种情况下,我应该注意什么以防止在配置差异方面发生这种情况?
我知道内部编译器错误是什么,问题是如果它只是发布问题,应该采取什么方法。到目前为止,围绕提到的行(在错误消息中)修改代码并没有帮助,这些行一直在变化,我也想知道这是否会成为一个红鲱鱼?我已经尝试更改已经阅读过类似问题的一些答案的优化。
尽管“解决方案”可能看起来不令人满意,但该问题已得到解决。内部编译器错误提到的文件和行不是我的代码,而是来自我正在使用的库,该库是在单独的解决方案和项目中编译的。我没有立即意识到这一点。在我评论说我的更改在上面没有任何效果后不久,我尝试在没有优化的情况下编译 lib 代码,然后尝试重新编译我的代码。那也没有用。最后,我只是将两行代码从第 x 行移动到第 x + 20 行(在同一个块内,所以它在哪里并不重要)然后再次构建库,然后重新构建我的工作并且它工作。
所以最后,要解决,有这样的事情。
{
blah1
blah2
blah3
blah4 //the line the compiler error mentioned
blah5
blah6
blah7
blah8
}
变成:
{
blah1
blah2
blah3
blah6
blah7
blah8
blah4
blah5
}
我想像这样的任何随机更改都会起作用,这种方式恰好在第一次尝试时起作用。
StackOverFlow 上已经有类似的解决方案,让我有一段时间感到困惑的是调试/发布的差异,以及我必须更改的代码来自不同的解决方案和项目,我不得不重新构建两个单独的解决方案。