VSCode编译C代码报错fatal error: GLFW/glfw3.h: No such file or directory如何解决
问题原因
当前报错是因为编译阶段GCC没有获取到GLFW的头文件搜索路径。你在c_cpp_properties.json中配置的includePath仅作用于VSCode的代码智能提示模块,不会传递给实际执行编译的GCC编译器,同时后续运行还需要补充GLFW的库链接参数才能完成完整编译。
修复步骤
1. 调整tasks.json编译参数
修改你现有tasks.json中的args数组,补充头文件搜索路径、库文件搜索路径以及依赖库链接参数,修改后的完整args配置如下:
"args": [ "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", // 指定GLFW头文件搜索路径 "-I", "${workspaceFolder}\\lib\\GLFW\\include", // 指定GLFW库文件搜索路径 "-L", "${workspaceFolder}\\lib\\GLFW", // 链接GLFW库及MinGW环境下GLFW依赖的系统库 "-lglfw3", "-lgdi32", "-luser32", "-lshell32" ],
2. 校验GLFW库版本兼容性
你当前使用MinGW编译器,需要确认lib/GLFW目录下的glfw3.lib是MinGW编译版本的库文件,如果是MSVC编译的版本会出现后续链接不兼容问题,替换为对应MinGW预编译版本即可。
3. 可选:优化智能提示配置
你当前的c_cpp_properties.json配置已经可以支持代码智能提示,也可以将includePath调整为更精确的路径,避免不必要的目录遍历:
"includePath": [ "${workspaceFolder}\\src\\**", "${workspaceFolder}\\lib\\GLFW\\include\\**" ],
内容的提问来源于stack exchange,提问作者Stefan Dimitrov
相关产品推荐
相关产品推荐

