c - 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
解决方案
我想到了。感谢评论,我设法修复了链接,但没有意识到我必须导入其他 opengl 东西。
如果有人正在寻找相同问题的答案,这是我的 sublime text 3 的调试构建命令:
gcc -c -Wall src/*.c -g -m64 && gcc -Iinclude *.o -o bin/debug/main -lglfw -lGLU -lGL && ./bin/debug/main
推荐阅读
- c++ - 为什么 QFile::size() 不近似等于 QImage::sizeInBytes()?
- android - Android - 从服务启动活动时崩溃
- reactjs - 在“列表中的每个孩子都应该有一个唯一的“关键”道具”中找不到丢失的关键
- java - Java缓冲区由long而不是int索引?
- java - (Java) 我的十六进制解密方法只能解码第一个十六进制值而不是完整的字符串
- image - 当视频加载如此之快时,为什么一些大分辨率图像需要这么长时间才能加载?
- d3.js - D3如何将数据与轴对齐?
- php - 我的友好 URL 的模式有问题
- reactjs - 为什么将 toFixed() 添加到一个变量在这个反应场景中不起作用但在另一个场景中起作用?
- python - pyaudio安装问题出现命令错误