0 (3): ошибка C1013: функция «main» уже определена в 0 (4)

Я немного погуглил и не могу понять, что не так. Мой шейдер:

#version 120

attribute vec2 coord2d;
void main(void) 
{
    gl_Position = vec4(coord2d, 0.0, 1.0);
}

Этот шейдер, который я знаю, работает, но когда я пытаюсь связать программу, я получаю:

glLinkProgram:Vertex info
-----------
0(3) : error C1013: function "main" is already defined at 0(4)

Я проверил, правильно ли попадают в память мерзости, а какие нет. они отлично компилируются. это шаг связывания, когда что-то идет не так. Я понятия не имею, что, и я бьюсь об этом довольно долгое время. какие-нибудь советы?

Изменить:

Вот код, который я использую для создания шейдера. он доходит до условного, он фактически полностью завершает выполнение, но журнал распечатывает то, что вы видели выше.

GLuint updateProg()
{
    prog = glCreateProgram();
    if (vs == 0 || fs == 0) return 0;
    glAttachShader(prog, vs);
    glAttachShader(prog, fs);
    int link_ok;
    glLinkProgram(prog);
    glGetProgramiv(prog, GL_LINK_STATUS, &link_ok);
    if (!link_ok) 
    {
        fprintf(stderr, "glLinkProgram:");
        print_log(prog);
        return 0;
    }
    return prog;
}
5
задан Narcolapser 22 January 2012 в 23:58
поделиться