OpenGL-ES Android: указатели функций esUtil.h - PullRequest
0 голосов
/ 13 декабря 2011

Я нахожусь в проекте на OpenGL в Linux FC16.Мы много работали с 3D и пока все хорошо.

В этом месяце компания решила перенести всю систему на OpenGL-ES.

Я установил OpenGL ES как обычно:

yum install make gcc mesa-libGLES-devel mesa-libEGL-devel
ref. http://code.google.com/p/opengles-book-samples/wiki/Instructions

В Eclipse IDE также был включен ES:

Project > Properties > C/C++ Build > Settings > GCC C Linker > Libraries > Libraries (-l)+:
EGL
GLES

При попытке запустить компилятор выдает ошибку:

../src/esUtil.h:84:21: error: expected ‘)’ before ‘*’ token
../src/esUtil.h:85:21: error: expected ‘)’ before ‘*’ token
../src/esUtil.h:86:21: error: expected ‘)’ before ‘*’ token

, которая направляет меняна это:

/// Callbacks
void (ESCALLBACK *drawFunc) ( void* );
void (ESCALLBACK *keyFunc) ( void*, unsigned char, int, int );
void (ESCALLBACK *updateFunc) ( void*, float deltaTime );
ref. http://code.google.com/p/angleproject/source/browse/trunk/samples/gles2_book/Common/esUtil.h?r=486

Я пытался поставить дополнительные скобки, но это все равно не исправило.Это просто сводит меня с ума.

Любые предложения или комментарии, которые приветствуются, приветствуются!

1 Ответ

1 голос
/ 13 декабря 2011

Вверху esUtil.h попробуйте:

#define __cdecl

Посмотрите, будет ли он построен. Если это так, то у вас есть проблема с __cdecl, который является определением Windows, которое gcc не поддерживает.

Я думаю, что исправление будет:

#define __cdecl __attribute__((__cdecl__))

PS: Cdecl - это расширение Visual C, которое не поддерживается gcc (я думаю).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...