gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:11:58 26 4
gpt4 key购买 nike

我已经谷歌了一点,我无法弄清楚出了什么问题。我的着色器:

#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;
}

最佳答案

该错误听起来像您可能试图链接着色器的两个副本?检查用于创建着色器对象、将代码加载到其中并将它们链接到程序对象的代码。也就是说,仔细检查对 glCreateShader、glShaderSource、glCreateProgram 和 glAttachShader 的所有调用,以确保它们有意义。

编辑

您已经添加了上面调用 glCreateProgram 的代码,但没有添加调用 glCreateShader 的代码。您的错误与意外(错误地)通过 GL_VERTEX_SHADER 一致用于片段着色器的 glCreateShader。

关于opengl - 0(3) : error C1013: function "main" is already defined at 0(4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com