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

使用g++手动链接glfw、glad库解决undefined reference报错

问题原因

你遇到的undefined reference报错是链接阶段无法找到依赖函数的实现导致的,现有编译命令存在3个遗漏:

  • 未将glad.c源文件加入编译列表,glad库的实现逻辑全部在该源文件中
  • 未指定glfw库文件的搜索路径,g++无法定位到你存放MinGW版本glfw库的文件夹
  • 未显式声明需要链接的glfw库及glfw依赖的Windows系统原生库
正确编译命令

首先确保你在C:\learn_opengl路径下执行命令,且提前创建好dist目录:

g++ -Wall -g src\main.cpp C:\cpp_lib\glad\src\glad.c ^
-I C:\cpp_lib\glfw\include ^
-I C:\cpp_lib\glad\include ^
-L C:\cpp_lib\glfw\lib-mingw-w64 ^
-lglfw3 -lopengl32 -lgdi32 -luser32 -lkernel32 ^
-o dist\main.exe

如果要使用动态链接的glfw,把-lglfw3替换为-lglfw3dll,编译完成后将C:\cpp_lib\glfw\lib-mingw-w64\glfw3.dll复制到dist目录和main.exe同路径即可运行。

参数说明
  • C:\cpp_lib\glad\src\glad.c:将glad的实现源文件加入编译流程
  • -L参数:指定第三方库文件的搜索路径,这里对应MinGW版本的glfw库存放目录
  • -l参数:声明需要链接的库,注意库名不需要加前缀lib和后缀.a

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:54:03