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

基于GLAD和GLFW3的OpenGL 4.1纯C macOS程序段错误求助

OpenGL重构后段错误与总线错误排查求助

背景

  • 正在通过learnopengl.com教程和JDAH的OpenGL C语言系列视频学习OpenGL与C语言,受其「一周实现Minecraft」项目启发
  • 重构前:learnopengl.com光照章节之前的代码运行完全正常
  • 重构操作:因代码结构杂乱,改用JDAH的Makefile并拆分代码文件,之后程序彻底无法运行

问题详情

  • 耗时7小时调试C语言段错误,最终定位到第二次调用glEnableVertexAttribArray时因解引用空指针触发段错误
  • 后续逐行调试时,原本运行正常且已更新文件路径的自定义着色器编译函数,出现38900 bus error

运行环境

  • 操作系统:MacOS 13.2
  • OpenGL版本:4.1
  • 依赖状态:系统/usr/local/include目录下装有Glew,但当前Makefile未引用该库;JDAH的OpenGL 3.3版本代码在本机可正常运行,仅替换了适配OpenGL 4.1的glad文件夹

已尝试的解决措施

  • 将Glew替换为GLAD
  • 重装所有相关依赖库
  • 修改Makefile配置(调整编译参数、链接选项等)

附相关代码与调试信息

Makefile片段

# 请补充具体Makefile内容

main.c相关代码片段

// 请补充涉及glEnableVertexAttribArray调用的代码部分

LLDB调试信息

// 请补充具体LLDB调试输出内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:50:20