【发布时间】:2013-05-12 12:28:42
【问题描述】:
我有一个错误,我不知道如何解决。
我创建了一个简单的程序,使用 VS2012 来测试 SOIL(来自 SOIL 网站的示例代码):
#include "SOIL.h"
#include <iostream>
#include <glew.h>
#include <freeglut.h>
int main() {
std::cout << "Started" << std::endl;
/* load an image file directly as a new OpenGL texture */
GLuint tex_2d = SOIL_load_OGL_texture
(
"img.png",
SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID,
SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT
);
/* check for an error during the load process */
if( 0 == tex_2d )
{
printf( "SOIL loading error: '%s'\n", SOIL_last_result() );
}
}
我得到错误:
Unhandled exception at 0x585727FF (msvcr110d.dll) in imageLib.exe: 0xC0000005: Access violation reading location 0x00000000.
感谢任何帮助。谢谢。
【问题讨论】:
-
打开“抛出异常时中断”(在内存中的调试/异常菜单中),您可以获得堆栈跟踪,它应该提供更多信息。
-
只需单步执行代码。断点应该将您带到问题发生的确切位置..
-
感谢您的回复。好的,我想我打开了它。这是堆栈跟踪吗? docs.google.com/file/d/0B36QIOj3F-a3TzRVVEE3blNYYjg/…
-
@Attaque: 似乎土没能得到 gl ext 字符串,如果你在线程上创建上下文之前使用 OGL,通常会发生这种情况。
-
谢谢 Necrolis。我将这段代码包含在另一个项目中,它按预期工作。
标签: c++ visual-studio soil