2

Visual Studio 2010 を使用しています。C1001 エラー (内部コンパイラ エラー) は、リリース構成でのみ発生します。デバッグは正常にコンパイルされます。この場合、構成の違いに関してこれが発生しないようにするには、何を確認する必要がありますか?

私は内部コンパイラ エラーが何であるかを知っています。問題は、それがリリースの問題だけである場合に取るべきアプローチは何かということです。(エラー メッセージで) 言及された行の周りのコードを変更しても、これまでのところ役に立ちません。ここで同様の質問に対する回答のいくつかをすでに読んで、最適化を変更しようとしました。

4

1 に答える 1

0

「解決策」が満たされていないように見えるかもしれませんが、これは解決されました。内部コンパイラ エラーが言及したファイルと行は、私のコードではなく、別のソリューションとプロジェクトでコンパイルされた、使用していたライブラリからのものです。すぐには気づきませんでした。上記の変更は効果がないとコメントした直後に、最適化なしで lib コードをコンパイルしてから、コードを再コンパイルしようとしました。それもうまくいきませんでした。最後に、2 行のコードを行 x から行 x + 20 に移動し (同じブロック内であるため、どこにあるかは問題ではありませんでした)、lib を再度ビルドしてから、作業を再ビルドしたところ、機能しました。

というわけで、最終的に解決するには、このようなものがありました。

{
blah1
blah2
blah3
blah4 //the line the compiler error mentioned
blah5
blah6
blah7
blah8 
}

に変更:

{
blah1
blah2
blah3
blah6
blah7
blah8
blah4
blah5 
}

このようなランダムな変更はうまくいったと思いますが、この方法はたまたま最初の試みでうまくいきました。

StackOverFlow にも同様の解決策が既にあります。しばらくの間、私を悩ませたのは、デバッグとリリースの違いと、変更しなければならなかったコードが別のソリューションとプロジェクトからのものであり、2 つの別々のソリューションを再構築しなければならなかったという事実でした。

于 2012-08-28T19:11:12.333 に答える