You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CMake链接GLAD?配置后遇LNK2001未解析外部符号错误

GLAD配置出现LNK2001未解析外部符号的解决方法

你遇到的error LNK2001: unresolved external symbol glad_glClear本质是链接阶段找不到glad生成的函数实现,大概率是以下几个环节出了问题:

  • 主项目未链接glad库
    你在CMake里创建了glad库目标,但没有把它关联到你的主可执行文件上。找到你的add_executable语句(比如add_executable(AR 你的源文件列表)),在后面添加:

    target_link_libraries(AR PRIVATE glad)
    

    这样CMake才会把glad的编译结果链接到你的主程序里。

  • GLAD生成的文件与项目环境不匹配
    重新检查你生成GLAD时的参数:

    • 确认选择的OpenGL版本和你的项目需求一致(比如你用了OpenGL 4.5,就别生成3.3版本的GLAD)
    • 检查profile选项(核心模式/兼容模式),如果你的项目用核心模式,GLAD也要选对应模式,否则部分函数不会生成绑定
    • 确保勾选了需要的扩展,避免遗漏函数实现
  • glad.c未被正确编译
    查看CMake构建输出,确认glad库目标被正常编译。如果路径没问题但没编译,大概率是因为主目标没链接glad,导致CMake认为这个库是无用目标,跳过了编译。

  • 头文件引入顺序错误
    在你的源文件里,必须先包含glad.h,再包含GLFW或其他OpenGL相关头文件,比如:

    #include <glad/glad.h>
    #include <GLFW/glfw3.h>
    

    因为glad会替换系统默认的OpenGL函数声明,顺序反了会导致编译器用未绑定的函数声明,进而引发链接错误。

内容的提问来源于stack exchange,提问作者Ghiles_1010

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:47:19