0
따라서 Windows 8.1 x64가 설치된 PC가 두 대 있습니다. 처음에는 Qt 5.7 SDK를 설치했지만 두 번째 SDK는 설치하지 않았습니다. 최초의 PC 다음과 같은 C++ Qt5 코드에서 가 성공적으로 작동합니다 Qt OpenGL 프레임 버퍼는 한 대의 PC에서 생성되지만 다른 컴퓨터에서는 실패합니다.
int big_width = 1392;
int big_height = 1040;
int small_width = 696;
int small_height = 520;
format.setSamples(4);
format.setAttachment(QGLFramebufferObject::Depth);
framebuffer_big = new QGLFramebufferObject(big_width, big_height, format);
framebuffer_small = new QGLFramebufferObject(small_width, small_height, format);
그리고
두 번째 PC에서 나는 다음과 같은 Windows 콘솔에서보고 있어요 :[qglframebufferobject.cpp line 549] GL Error: 1280
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
[qglframebufferobject.cpp line 549] GL Error: 1280
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
을 그래서, 두 번째 PC에서 비디오 드라이버를 업그레이드 , 그리고 그것은 효과가 없었습니다. 물론, 필요한 dll이 제공됩니다.
질문 : 두 번째 PC에서 위의 오류를 수정하는 방법은 무엇입니까?
두 경우 모두 사용중인 OpenGL 버전을 표시해보십시오. 두 번째 경우에는 colorAttachment를 추가하면 무엇이 추가됩니까? –
@DraykoonD QDebug() << >> QString :: fromStdString (std :: string (reinterpret_cast (glGetString (GL_VERSION))))))))))))); '라고 밝혔다. 처음에는 "4.5.0 NVIDIA 365.19"를 얻었습니다. 두 번째 PC에는 프로그램의 파멸이있었습니다 :''std :: logic_error '의 인스턴스를 던진 후 termiane what() : basic_string :: _ M_construct null not valid이 응용 프로그램은 Runtime it을 비정상적으로 요청했습니다. 자세한 내용은 신청서 지원 팀에 문의하십시오. "문제가 무엇인지 모릅니다. 어떤 제안? –