Learn OpenGL with Qt——你好,三角形无法绘制出三角形

问题遇到的现象和发生背景

按照您博客https://blog.csdn.net/qq_40946921/article/details/105902185的内容,尝试使用QT编译OpenGL,但是无法成功编译。

img

img

img

运行结果及报错内容

QOpenGLShader::compile(Vertex): 0(2) : error C0000: syntax error, unexpected ':' at token ":"

Problematic Vertex shader source code
#define lowp
#define mediump
#define highp
#line 1
:/ver.vert

ERROR: "0(2) : error C0000: syntax error, unexpected ':' at token ":"\n"
QOpenGLShader::compile(Fragment): 0(2) : error C0000: syntax error, unexpected ':' at token ":"

Problematic Fragment shader source code
#define lowp
#define mediump
#define highp
#line 1
:/frg.frag

ERROR: "0(2) : error C0000: syntax error, unexpected ':' at token ":"\n"
ERROR: ""

img

我的解答思路和尝试过的方法

我开始认为是QT的资源文件添加正确,导致没成功读取到GLSL文件;我尝试把GLSL文件的完整路径添加进去,但是仍然出现问题;
我在添加资源文件后也对工程重新构建过,但是问题依旧出现。

我想要达到的结果

希望成功用QT结合OpenGL做一些事情,之前用纯C++也成功写过三角形的绘制,不想就这样在第一步就卡住,还请您不吝赐教。 :)

是addShaderFromSourceFile 而不是addShaderFromSourceCode,後者是直接添加文本代碼