Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL程序不断崩溃?_C++_Opengl_3d_Core Graphics_Glfw - Fatal编程技术网

C++ OpenGL程序不断崩溃?

C++ OpenGL程序不断崩溃?,c++,opengl,3d,core-graphics,glfw,C++,Opengl,3d,Core Graphics,Glfw,此代码返回3个错误(实际上是所有错误) GLEW初始化失败;GLFW初始化失败;窗口创建失败: #包括“GL/glew.h” #包括“GLFW/glfw3.h” #包括 //窗口尺寸 恒闪烁屏宽=800,屏高=600; int main(){ //初始化GLFW 如果(glfwInit()!=GLEW_OK){ 这是错误的: if(glfwInit()!=GLEW_OK){ 这是错误的: if(glfwInit()!=GLEW_OK){ 试试这个,你需要初始化Glew GLenum GlewIn

此代码返回3个错误(实际上是所有错误)
GLEW初始化失败;GLFW初始化失败;窗口创建失败

#包括“GL/glew.h”
#包括“GLFW/glfw3.h”
#包括
//窗口尺寸
恒闪烁屏宽=800,屏高=600;
int main(){
//初始化GLFW
如果(glfwInit()!=GLEW_OK){
这是错误的:

if(glfwInit()!=GLEW_OK){
这是错误的:

if(glfwInit()!=GLEW_OK){

试试这个,你需要初始化Glew

GLenum GlewInitResult;
GlewInitResult = glewInit();
if ( GLEW_OK != GlewInitResult) 
{
    glfwTerminate();
    return -1;
}

试试这个,你需要初始化Glew

GLenum GlewInitResult;
GlewInitResult = glewInit();
if ( GLEW_OK != GlewInitResult) 
{
    glfwTerminate();
    return -1;
}
有两个问题

如果成功,则返回
GLFW_TRUE
GLFW_TRUE
为1)。因此它必须是:

if(glfwInit()!=GLFW_TRUE){
有两个问题

如果成功,则返回
GLFW_TRUE
GLFW_TRUE
为1)。因此它必须是:

if(glfwInit()!=GLFW_TRUE){

std::cout唯一相关的错误是
glfwInit();
调用,因为一旦出现错误,您就无法退出应用程序。@PaulMcKenzie抱歉?“…一旦出现错误,就无法退出应用程序”?这是什么意思?我做了
glfwInit()“不”,“C++”<代码>主< <代码>函数没有返回。您的代码调用<代码> GLFWEATEATE()/CUT>,但这与<代码>主< /代码>返回无关,它只是一个函数调用。要终止应用程序,您可以从<代码>主< <代码> >代码> >代码>退出()。这就是为什么你会看到其他错误信息——你没有在第一个错误上跳过,而且你的程序一直在运行。而且,逻辑上思考它——如果我想在我的应用程序中结束GL引擎,但要保持我的应用程序运行呢?结束我的整个应用程序?当然不会。唯一相关的错误是
glfwInit();
调用,因为一旦出现错误,您就无法退出应用程序。@PaulMcKenzie对不起?“…一旦出现错误,就无法退出应用程序”?这是什么意思?我做了
glfweterminate()“不”,“C++”<代码>主< <代码>函数没有返回。您的代码调用<代码> GLFWEATEATE()/CUT>,但这与<代码>主< /代码>返回无关,它只是一个函数调用。要终止应用程序,您可以从<代码>主< <代码> >代码> >代码>退出()。这就是为什么你会看到其他错误信息——你没有在第一个错误上跳过,而且你的程序一直在运行。而且,逻辑上思考它——如果我想在我的应用程序中结束GL引擎,但要保持我的应用程序运行呢?结束我的整个应用程序?当然不是。我认为OP的意思是
glfwInit()!=GLFW_TRUE
而只是使用了错误的常量。我认为OP的意思是
glfwInit()!=GLFW_TRUE
而只是使用了错误的常量。