0

テクスチャを Gluint (unsigned int) に読み込もうとしています。私は次のことをしました:

material[materialNum].texture = SOIL_load_OGL_texture((fileLocation + "/" + mtlBufferStr).c_str(), SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT);   

このコードはデバッグ モードで動作します。しかし、リリースモードでは、「_file.c」で実行時エラーが発生し(作成していません)、実行時エラーは次のとおりです。

Win32.exe の 0x771A8E19 (ntdll.dll) で未処理の例外: 0xC0000005: アクセス違反の書き込み場所 0x00000014

この実行時エラーがリリース モードでのみ表示される理由とその解決方法を教えてください。

編集: Gluint を使用せずに、ファイルのパスを含むプログラムの完全なコードを追加します。それでも同じ問題:

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow )
{

AllocConsole();
HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);
int hCrt = _open_osfhandle((long) handle_out, _O_TEXT);
FILE* hf_out = _fdopen(hCrt, "w");
setvbuf(hf_out, NULL, _IONBF, 1);
*stdout = *hf_out;

SOIL_load_OGL_texture("models/havoc/tex_0007_1.dds", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT);                         
}
4

0 に答える 0