如果我仅在发布配置中遇到内部编译器错误,我可以查看什么来解决此问题?

问题描述 投票:0回答:1

我使用的是 Visual Studio 2010。C1001 错误(内部编译器错误)仅发生在发布配置中。调试编译正常。在这种情况下,我应该注意什么来防止配置差异发生这种情况?

我知道什么是内部编译器错误,问题是如果这只是发布问题,应该采取什么方法。到目前为止,修改提到的行周围的代码(在错误消息中)并没有帮助,这些行只是不断变化,我也想知道这是否会成为一个红鲱鱼?我也尝试过更改优化,已经阅读了这里类似问题的一些答案。

c++ visual-studio-2010 compiler-errors c1001
1个回答
0
投票

这个问题已经解决,尽管“解决方案”可能看起来并不令人满意。内部编译器错误提到的文件和行不是我的代码,而是来自我正在使用的库,该库是在单独的解决方案和项目中编译的。我并没有立即意识到这一点。在我评论说我的更改没有效果后不久,我尝试在不进行优化的情况下编译 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 上已经有类似的解决方案,让我有一段时间感到困惑的是调试/发布差异,而且我必须更改的代码来自不同的解决方案和项目,而且我必须重建两个单独的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.