【发布时间】:2015-06-05 20:37:28
【问题描述】:
所以这是我运行时的输出
$ g++ main.c -lGL
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
但是我确实安装了 GL,因为它附带了我从 nvidia 网站下载的显卡驱动程序,即用于我的显卡 780ti 的 346.72
当我进行搜索时,即在此处定位 GL 是响应的一部分
...
/usr/include/GL
/usr/include/GL/freeglut.h
/usr/include/GL/freeglut_ext.h
/usr/include/GL/freeglut_std.h
/usr/include/GL/gl.h
/usr/include/GL/gl_mangle.h
/usr/include/GL/glcorearb.h
/usr/include/GL/glew.h
/usr/include/GL/glext.h
/usr/include/GL/glu.h
/usr/include/GL/glu_mangle.h
/usr/include/GL/glut.h
/usr/include/GL/glx.h
/usr/include/GL/glx_mangle.h
/usr/include/GL/glxew.h
/usr/include/GL/glxext.h
/usr/include/GL/glxint.h
/usr/include/GL/glxmd.h
/usr/include/GL/glxproto.h
/usr/include/GL/glxtokens.h
/usr/include/GL/internal
/usr/include/GL/wglew.h
/usr/include/GL/internal/dri_interface.h
/usr/include/GL/internal/glcore.h
...
/usr/lib/x86_64-linux-gnu/libEGL.so
/usr/lib/x86_64-linux-gnu/libEGL.so.1
/usr/lib/x86_64-linux-gnu/libEGL.so.346.72
/usr/lib/x86_64-linux-gnu/libGL.la
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.346.72
/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.346.72
/usr/lib/x86_64-linux-gnu/libGLESv2.so
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLESv2.so.346.72
/usr/lib/x86_64-linux-gnu/libGLEW.so
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLU.a
/usr/lib/x86_64-linux-gnu/libGLU.so
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
/usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.2
/usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.2.1
/usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
/usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4.8
/usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4.8.6
/usr/lib/x86_64-linux-gnu/mesa/libGL.so
....
这表明它确实存在
如何将它与链接器链接?
【问题讨论】:
-
include 文件夹仅包含头文件,而不包含(静态/共享)库,这是您解决此错误所需要的。尝试将库路径设置到包含 OpenGL 库的文件夹(可能是 /usr/libs/GL)。
-
@hop joppe5 请在您的问题中添加您使用
$ g++ main.c -L/usr/lib/x86_64-linux-gnu -lGL的信息。我已经删除了我的答案。