首页 > 解决方案 > C 如何在 Linux 上使用 gcc 导入/链接 glfw

问题描述

这狗屎不行。为什么?

gcc -c -Wall src/*.c -g -m64 && gcc -Iinclude *.o -o bin/debug/main -Lusr/local/lib -l libglfw && ./bin/debug/main

尝试构建 glfw 窗口示例时出现此链接错误

/usr/bin/ld: cannot find -l libglfw
collect2: error: ld returned 1 exit status

我如何导入/链接 glfw 以及出了什么问题?我尝试动态链接,usr/lib/x86_64-linux-gnu/libglfw.so但没有帮助。我对 gcc 和 linux 很陌生,所以我可能很愚蠢。

编辑: 评论指出了我犯的一些错误,所以这是新命令,由于某种原因,这也是错误的:

gcc -c -Wall src/*.c -g -m64 && gcc -Iinclude *.o -o bin/debug/main -L/usr/local/lib -lglfw && ./bin/debug/main

新错误:

/usr/bin/ld: main.o: in function `main':
/home/basti/dev/OpenGL/src/main.c:26: undefined reference to `glClear'
collect2: error: ld returned 1 exit status

标签: clinuxgcclinkerglfw

解决方案


我想到了。感谢评论,我设法修复了链接,但没有意识到我必须导入其他 opengl 东西。

如果有人正在寻找相同问题的答案,这是我的 sublime text 3 的调试构建命令: gcc -c -Wall src/*.c -g -m64 && gcc -Iinclude *.o -o bin/debug/main -lglfw -lGLU -lGL && ./bin/debug/main


推荐阅读