C++ 当我尝试从exe文件运行程序时,出现异常错误::着色器::顶点::编译失败

C++ 当我尝试从exe文件运行程序时,出现异常错误::着色器::顶点::编译失败,c++,C++,如果我在visual studio中运行我的程序,程序运行良好,但当我尝试从.exe文件运行时出现异常:错误::着色器::顶点::编译失败 我在Shader.h文件中发现此异常: GLuint vertex, fragment; GLint success; GLchar infoLog[512]; // Vertex Shader vertex = glCreateShader(GL_VERTEX_SHADER); glShaderSource(ver

如果我在visual studio中运行我的程序,程序运行良好,但当我尝试从.exe文件运行时出现异常:错误::着色器::顶点::编译失败

我在Shader.h文件中发现此异常:

GLuint vertex, fragment;
    GLint success;
    GLchar infoLog[512];
    // Vertex Shader
    vertex = glCreateShader(GL_VERTEX_SHADER);
    glShaderSource(vertex, 1, &vShaderCode, NULL);
    glCompileShader(vertex);
    // Print compile errors if any
    glGetShaderiv(vertex, GL_COMPILE_STATUS, &success);
    if (!success)
    {
        glGetShaderInfoLog(vertex, 512, NULL, infoLog);
        std::cout << "ERROR::SHADER::VERTEX::COMPILATION_FAILED\n" << infoLog << std::endl;
    }
GLuint顶点,片段;
辉煌的成功;
GLchar信息日志[512];
//顶点着色器
顶点=glCreateShader(GL_顶点_着色器);
glShaderSource(顶点,1,&vShaderCode,NULL);
glCompileShader(顶点);
//打印编译错误(如果有)
glGetShaderiv(顶点、GL\u编译状态和成功);
如果(!成功)
{
glGetShaderInfoLog(顶点,512,NULL,信息日志);

std::cout仅凭您提供的信息很难判断问题所在。可能是程序找不到着色器源文件(如您所怀疑的路径错误)。这也可能是由于着色器源文件中存在编程错误导致的–OpenGL着色器作为源字符串加载并由驱动程序编译。也可能是,着色器是使用OpenGL版本配置文件编写的,而您的系统不支持该配置文件(着色器可能是一个比你的系统能做的更高的版本)。

我发现了为什么会发生这种情况,只是在我的exe文件中丢失了文件COR.VS。

这是运行时错误,与C++无关。给你使用的任何库/框架添加一个标签。