我在运行armbian(Jessie)桌面图像(5.11)的orangepi上编译(参见1)时遇到了问题。
我已经设置了一个Makefile(参见2),除了链接调用之外,它工作得很安静。
我的main.cpp文件目前只包含ogles_gpgpu主头文件。
在链接过程中,很多时候会发生以下错误。
g++ -o main main.cpp *.o -O0 -g -D__ORANGEPIPC__ -I./ogles_gpgpu -I./ogles_gpgpu/common/ -I./ogles_gpgpu/common/gl -L/usr/lib/mali -lGLESv2 -lEGL -lGL -lglut -lGLEW -lm
In file included from ogles_gpgpu/common/../platform/orangepipc/gl_includes.h:15:0,
from ogles_gpgpu/common/common_includes.h:23,
from ogles_gpgpu/ogles_gpgpu.h:20,
from main.cpp:19:
/usr/include/GLES2/gl2ext.h:761:15: error: expected ‘)’ before ‘*’ token
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
^
/usr/include/GLES2/gl2ext.h:762:15: error: expected ‘)’ before ‘*’ token
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
^
这是一个构建日志文件,以获取更多信息(参见2)。
gl2ext.h文件作为C头导入,这是由文件本身引起的。
有没有人有任何暗示?
答案 0 :(得分:0)
我认为您有标题重复GL/glew.h
和/或GL/glut.h
。
使用main.cpp
中的以下标题,编译正常:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include "ogles_gpgpu/ogles_gpgpu.h"
而不是
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <GL/glew.h>
#include <GL/glut.h>
#include "ogles_gpgpu/ogles_gpgpu.h"