【发布时间】:2016-05-06 20:57:23
【问题描述】:
我正在尝试使用 libGL 和 freeglut3 编译一个 c++ openGL 程序。我正在尝试:
g++ main.cpp -w -lglut -lGl -o bin/app
或
g++ main.cpp -w -lglut -lGL -o bin/app
结果:
/usr/bin/ld: cannot find -lGl
collect2: error: ld returned 1 exit status
Makefile:16: recipe for target 'all' failed
make: *** [all] Error 1
我在:
Ubuntu 16.04 LTS
海合会:
gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2)
libGL.so
/usr/lib/x86_64-linux-gnu$ find libGL.so
libGL.so
我安装了:
freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
我错过了什么吗?上次成功编译时我是在 ubuntu 14.04 上。
我在某处看到我应该安装 fglrx-glx 但该软件包不可用。
更新:
glxinfo
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.2.0
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.2.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 11.2.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
我的 ldconfig.real 似乎是空的
【问题讨论】:
-
Linux 文件系统区分大小写,GL != GL。
-
我肯定知道它的 Gl,但我尝试了 -lGL,它给出了同样的错误
-
不,肯定不是 Gl。您自己的帖子表明它被称为
libGL.so,而且一直都是这样。 -
@Nick 尝试像这样为 gcc 添加
-Lg++ main.cpp -w -lglut -L/usr/lib/x86_64-linux-gnu -lGL -o bin/app -
@Ivan 谢谢 :) 试过了,可悲的是还是同样的错误
标签: c++ ubuntu opengl gcc linker