我在运行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头文件导入,这是由文件本身引起的。

有人有任何暗示吗?

最佳答案

我认为您的 header GL/glew.h和/或GL/glut.h有重复。

main.cpp中使用以下 header ,它可以正常编译:

#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"

关于compiler-errors - OrangePi阿拉伯语ogles_gpgpu,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38424263/

10-11 00:07