Неразрешенная внешняя typedef при компиляции с X11
Я компилирую приложение, используя quake qgl api на X11/FreeGLUT (OSX 10.12). Компиляция завершается неудачно с такими ошибками:
/ref_gl/qgl.h:579:8: error: unknown type name 'PFNGLTEXIMAGE3DEXTPROC';
did you mean 'PFNGLXBINDTEXIMAGEEXTPROC'?
extern PFNGLTEXIMAGE3DEXTPROC glTexImage3DEXT;
Кажется, что внешние определения типов ( PFNGLPNTRIANGLESIATIPROC, PFNGLPNTRIANGLESFATIPROC, PFNGLTEXIMAGE3DEXTPROC ...) не могут быть найдены компилятором.
UPD: инструкции, за которыми я следую: sourceforge. сеть / проекты /quake2xp/ файлы / Linux%20release/
Пожалуйста, какие-либо предложения?
2 ответа
Решено: использовать только библиотеку X11 GL для этого проекта. Ошибка была вызвана смешиванием префиксов OpenGL в директивах #import:
#include <OpenGL/... > (Native MacOS) and #include <GL/...> (X11)
Только
#include <GL/...>
Префикс должен быть использован.
Не используйте X11 на MacOS. X11 не является родной графической системой MacOS, и сервер X11, который поставляется с MacOS, не имеет расширенной поддержки OpenGL.
Используйте встроенную платформу MacOS OpenGL.