[opengl errors] QOpenGLShader::compile(Fragment): 0(2) : error C0204

使用Qtcreator 写完 shader文件之后运行时出现标题的这个错误
报错信息如下:

QOpenGLShader::compile(Fragment): 0(2) : error C0204: version directive must be first statement and may not be repeated

*** Problematic Fragment shader source code ***
#ifdef GL_KHR_blend_equation_advanced
#extension GL_ARB_fragment_coord_conventions : enable
#extension GL_KHR_blend_equation_advanced : enable
#endif
#define lowp
#define mediump
#define highp
#line 1
???#version 330 core
out vec4 FragColor;

void main(void)
{
    FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);
}

***

看到那三个问号了没???#version 330 core,一开始我是怎么也没想明白,后来隐约觉得是编码问题,但是很纳闷,这三个问号从何而来呢?

赶紧看了下文件编码,是 uft-8 with BOM, 改成 utf-8 编码格式之后就没问题了。

posted @ 2021-01-06 11:06  miyanyan  阅读(1186)  评论(0编辑  收藏  举报