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

Windows下用Makefile链接GLFW的C程序编译报错:找不到头文件

问题分析与解决

你的问题出在头文件搜索路径和#include语句的写法不匹配:

  • 你在Makefile里指定了-I lib/GLFW,这个参数是告诉编译器去lib/GLFW目录下找头文件
  • 但你在main.c里写的是#include <lib/GLFW/glfw3.h>,这会让编译器在lib/GLFW目录下再找lib/GLFW/glfw3.h,实际查找路径变成了lib/GLFW/lib/GLFW/glfw3.h,显然不存在,所以报错找不到头文件。

两种解决办法

办法一:修改#include语句

把main.c里的头文件引入改成:

#include <glfw3.h>

这样编译器会直接在你指定的lib/GLFW目录下找到glfw3.h。

办法二:修改Makefile的-I参数

如果不想改代码,就把Makefile里的-I lib/GLFW改成-I lib,这样编译器会从lib目录开始搜索,就能匹配#include <lib/GLFW/glfw3.h>的路径了。

另外补充:你的Makefile目前只有链接阶段的命令,缺少编译main.c生成main.o的步骤,正常完整的Makefile应该包含编译步骤,比如结合办法一的写法:

gcc -c main.c -o main.o -D GLFW_DLL -I lib/GLFW
gcc main.o -o main -D GLFW_DLL -Llib/GLFW lib/GLFW/libglfw3dll.a -lgdi32

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:46:01