MinGW编译GLFW代码报错:无法找到-ldependencies,求助解决
GLFW手动编译链接错误排查与解决
错误根源
你命令里的-ldependencies是错误用法:
-l选项的作用是链接指定名称的库文件,它要求后面跟的是库的核心名称(比如glfw3,对应文件是libglfw3.a)dependencies是存放库和头文件的文件夹,不是库本身,所以链接器会把它当成库名去查找,自然找不到。
正确编译命令(两种可选)
方式1:直接指定库文件路径
g++ main.cpp -I.\dependencies .\dependencies\libglfw3.a -lopengl32 -lgdi32 -o main.exe
方式2:指定库搜索目录+链接库名
g++ main.cpp -I.\dependencies -L.\dependencies -lglfw3 -lopengl32 -lgdi32 -o main.exe
关键参数说明
-I.\dependencies:告诉编译器去dependencies文件夹里查找头文件(比如你的glfw3.h)-L.\dependencies:告诉链接器去dependencies文件夹里查找库文件-lglfw3:链接名为libglfw3.a的静态库(链接器会自动补全lib前缀和.a后缀)-o main.exe:指定输出的可执行文件名为main.exe,不加的话默认生成a.exe
额外注意
你文件夹里的glfw3.lib是给Visual Studio(MSVC编译器)用的静态库,MinGW编译器用不上,只需要保留libglfw3.a即可。
内容的提问来源于stack exchange,提问作者befd
相关产品推荐
相关产品推荐

