【问题标题】:Unresolved external typedef while compiling with X11使用 X11 编译时未解析的外部 typedef
【发布时间】:2017-05-07 13:36:04
【问题描述】:

我正在 X11/FreeGLUT (OSX 10.12) 上使用 quake qgl api 编译应用程序 编译失败并出现如下错误:

/ref_gl/qgl.h:579:8: error: unknown type name     'PFNGLTEXIMAGE3DEXTPROC'; 
did you mean 'PFNGLXBINDTEXIMAGEEXTPROC'?
extern PFNGLTEXIMAGE3DEXTPROC             glTexImage3DEXT;

编译器似乎找不到外部类型定义(PFNGLPNTRIANGLESIATIPROC、PFNGLPNTRIANGLESFATIPROC、PFNGLTEXIMAGE3DEXTPROC ...)。

UPD:我遵循的说明:sourceforge。 net/projects/quake2xp/files/linux%20release/

请问有什么建议吗?

【问题讨论】:

    标签: c macos opengl glut


    【解决方案1】:

    不要在 MacOS 上使用 X11。 X11 不是 MacOS 的原生图形系统,MacOS 自带的 X11 服务器没有高级的 OpenGL 支持。

    使用原生 MacOS OpenGL 框架。

    【讨论】:

    • 就我而言,我需要 X11,因为该应用程序需要 X11 扩展(根据我正在关注的教程)。从我的脚本中删除 X11 标志后(因此仅使用 Xcode 的 OpenGL),错误为 ./client/../ref_gl/qgl.h:30:12: fatal error: 'GL/glx.h' file not found
    • 该应用需要哪些特定的 X11 扩展?你在学习哪个教程?
    • 为 linux/X11 编写的应用项目。 (我正在尝试,因为 Mac OS 的版本不存在 :() 教程:sourceforge. net/projects/quake2xp/files/linux%20release/
    【解决方案2】:

    已解决:此项目仅使用 X11 GL 库。 该错误是由于在#import 指令中混合了 OpenGL 前缀引起的:

    #include <OpenGL/... > (Native MacOS)  and  #include <GL/...> (X11)
    

    只有

    #include <GL/...>
    

    应该使用前缀。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 2011-08-13
      相关资源
      最近更新 更多