Ubuntu 22.04下x86_64-w64-mingw32-g++无法链接GLFW求助
解决x86_64-w64-mingw32-g++编译时找不到GLFW头文件的问题
你的问题根源在于交叉编译器(x86_64-w64-mingw32-g++)的头文件/库搜索路径和本地g++不共享:本地g++能找到系统中安装的GLFW,但交叉编译器只会搜索自己专属的路径,默认找不到你系统里的GLFW文件。
具体解决方案:
获取适配mingw-w64的GLFW文件
- 下载预编译的mingw-w64版本GLFW包(需选择x86_64架构),或者用x86_64-w64-mingw32-g++手动编译GLFW源码,确保得到Windows平台的头文件和库文件。
编译时手动指定搜索路径
在编译命令中添加-I(头文件路径)和-L(库文件路径)参数,同时注意Windows下OpenGL库名为opengl32而非GL:x86_64-w64-mingw32-g++ -m64 ~myproject/glad/*.c main.cpp -o test.exe -I/path/to/mingw-glfw/include -L/path/to/mingw-glfw/lib -lglfw -lopengl32把
/path/to/mingw-glfw/include替换为你实际的GLFW头文件目录(该目录下要存在GLFW/glfw3.h),/path/to/mingw-glfw/lib替换为GLFW库文件(如libglfw3.a)所在的目录。验证路径正确性
- 检查
-I指定的目录下是否确实有GLFW/glfw3.h - 确保
-L指定的目录下的GLFW库是64位版本,和交叉编译器的x86_64架构匹配
- 检查
内容的提问来源于stack exchange,提问作者Fairy Jack
相关产品推荐
相关产品推荐

