2009-09-05 3 views
0

GL 컨텍스트를 만들려고하는데 호출이 실패하고 널 포인터가 반환됩니다. MSDN에 따르면 wglCreateContext가 실패하면 GetLastError에서 이유를 얻습니다. GetLastError가 나에게 숫자를주는 것을 제외하고는 유익하지 않습니다.Windows의 OpenGL에서 의미있는 오류 정보를 얻는 방법

다시 MSDN에 따르면 FormatMessage를 사용하여 GetLastError 코드에서 설명 문자열을 얻을 수 있습니다. 나는 다음을 시도 할 때, 나는 빈 문자열을 얻을 :

FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, 0, GetLastError(), 0, errorStr, 0, NULL); 

은 내가 MSDN 설명서를 확인하고, 분명히는 Windows 시스템 오류에 대한 조회 테이블을 가지고있다. 그래서 나에게 아무 도움도되지 않습니다. 누구든지 프로그래밍 방식으로 내 wglCreateContext 호출이 실패하는 이유를 파악하는 방법을 알고 있습니까?

답변

0

문제점을 발견했습니다. FormatMessage는 정상적으로 작동합니다. 방금 잘못된 매개 변수가 있습니다. 이 작업 방식 :

FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, errorStr, 255, NULL); 
0

나는 this MSDN pagethis OpenGL page을 찾았지만 숫자 값이 아닌 오류 코드 목록 만 가지고 있습니다. 는 OpenGL 기준에

This page 이 프로파일 기능 gluErrorString을 언급 :

constGLubyte *gluErrorString(GLenum error) 

가 사용하고있는 도서관에서 사용할 수 있습니까? 이것은 "glu.h"라는 파일에 정의되어야합니다. 비주얼 스튜디오 6가 있었다에서 :

C : \ 프로그램 파일 \의 Microsoft Visual Studio \ VC98 \를 포함 \ GL

해당 버전이없는 경우 그것은해야한다에 :

C : \ 프로그램 파일 \은 Microsoft SDKs \ 윈도우 \ v6.0A \를 포함 \ GL

이 폴더는 오류 C에 대한 정의를 포함하는 "gl.h"를 ​​포함해야 odes.

EDIT 표준이 아닌 오류 코드임을 의미하는 null 문자열이 표시되는 경우 GetLastError()에서 나오는 값을 가져 와서 "gl.h"의 16 진수 표현으로 검색하십시오. 발견되면 정의가 오류의 원인을 알려줍니다.

+0

시도했지만 null 문자열을 반환합니다. –

관련 문제