私はSDLプロジェクトにLUAを使用しています。私はここ(http://sourceforge.net/projects/luabinaries/files/5.2/Windows%20Libraries/Dynamic/)(lua-5.2_Win32_dll10_lib.zip)からプリコンパイルされたLIBとDLLファイルをダウンロードし、プロジェクトに組み込んだ。私がデバッグビルドをビルドすると、アプリケーションは100%正常に動作します。私がモードを解除し、Visual Studioの再生ボタンを押すように設定すると、正常に動作します。デバッグのために私のプログラムをコンパイルするとLuaはうまく動作しますが、リリース用にコンパイルする理由はc0000005エラーです
しかし、フォルダ内のファイルをダブルクリックしてリリースファイルを実行すると、lua52.dllでエラーc0000005が表示されます。
私はMicroSoft Visual C++ 2010 Expressを実行しています。
作業を開始するまでに行を削除していたため、エラーの原因となった行があります。
void aiBrainmanager::run(string holdData){
int errfunc = 0;
int s;
int s = luaL_loadstring(L, holdData.c_str());
if (s==0) {
s = lua_pcall(L, 0, LUA_MULTRET, errfunc);
}
if (errfunc !=0) {
}
if (s !=0) {
aiBrainmanager::target->stopWorking();
}
}
どのような設定が間違っているか、どのように修正するか。
に情報を取得している見つけることだと思います問題が何であるかを推測することができます。デバッグビルドでは、初期化されていない多くの変数が0に設定されている可能性が高くなります。リリースビルドではそうではありません。最初にそれをチェックし、問題のある箇所にdebug print/logステートメントを追加すると、何が間違っているかを見ることができます。これにはデバッガを使用することもできますが、それに精通していない場合は、最適化されたコードのデバッグが難しい場合があります。 –