error C2065: “GL_LIGHTING”: 未声明的标识符,error C2065: “GL_LIGHT0”: 未声明的标识符

出现GL_LIGHTINGGL_LIGHT0未声明的错误,是因为GLAD 默认未包含 OpenGL 固定管线(Fixed Pipeline)的常量定义(这些属于旧版 OpenGL 特性,核心模式已移除),且缺少对应的头文件或 GLAD 配置。以下是解决方法:

方法一:修改 GLAD 生成配置(兼容固定管线)

GLAD 默认生成的是核心模式(Core Profile) 的加载器,不包含固定管线的常量(如GL_LIGHTINGGL_LIGHT0)。需重新生成支持兼容模式(Compatibility Profile) 的 GLAD:

  1. 打开GLAD 生成器

    • API → gl版本选择3.0及以下(或保持高版本但选择兼容模式);
    • Profile选择Compatibility(兼容模式);
    • 勾选Generate a loader,点击GENERATE重新下载 GLAD。

  1. 替换项目中的 GLAD 文件:

    • 将新生成的glad.cinclude/glad/include/KHR/覆盖到项目中。

这样即可识别GL_LIGHTINGGL_LIGHT0等常量,解决编译错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值