我使用eclipse CDT来编写我的C++程序。但eclipse和GCC编译器无法识别glShaderSource()。我做了以下“装入”头:OpenGL Archlinux GLext无法识别。 (编辑:GLEW不起作用)
#include <GL/glew.h>
#include "Shader.h"
这是代码,它产生的错误:
void Shader::setShaders(const char* vsFile, const char* fsFile) {
char *vs, *fs;
v = glCreateShader(GL_VERTEX_SHADER);
f = glCreateShader(GL_FRAGMENT_SHADER);
vs = textFileRead(vsFile);
fs = textFileRead(fsFile);
const char * vv = vs;
const char * ff = fs;
glShaderSource(v, 1, &vv, NULL);
glShaderSource(f, 1, &ff, NULL);
free(vs);
free(fs);
glCompileShader(v);
glCompileShader(f);
p = glCreateProgram();
glAttachShader(p, v);
glAttachShader(p, f);
glLinkProgram(p);
glUseProgram(p);
}
每个GL-功能无法找到。对于实例给出了这样的错误:
Function 'glCreateShader' could not be resolved
Eclipse中说,该glext头可以被认可,我甚至可以看看它。其他GL函数的工作(1.0函数)。
[老:] 我已经通过
sudo pacman -S glext
安装GLext然后安装包gtkglext
,这是唯一的选择。
我真的没有计划要做什么。也没有额外的libGLEXT.so或类似的东西,我只有libGL,libGLU和其他。
不,这不是我想要做的。我实际上尝试了GLEW,但是它在头文件中给出了很大的错误...... – matheus23 2012-02-15 17:21:41