遇到的问题
今天在Debian上安装Qt5.7.1时遇到运行Qt自带测试程序提示error: cannot find -lGL。错误信息提示找不到OpenGL相关的库,楼主之前在Ubuntu上装过没有遇到类似的问题。最后总结了下原因主要是因为Qt5.0默认会将OpenGL加入工程,但是有的机器上没有安装OpenGL。解决方案就是在当前机器上安装OpenGL。
安装步骤
1、安装基本的编译环境
$ sudo apt-get install build-essential
2、安装OpenGL库
$sudo apt-get install libgl1-mesa-dev
3、安装OpenGL Utilities(基于OpenGL库的一个工具箱,不一定需要安装)
$sudo apt-get install libglu1-mesa-dev
4、安装OpenGL Utility ToolKit(建立在OpenGL Utilities上的工具箱,不一定需要安装)
$sudo apt-get install libglut-dev
可能遇到的问题:
shell提示:正在读取软件包列表... 完成正在分析软件包的依赖关系树
正在读取状态信息... 完成
解决方案:
使用$sudo apt-get install freeglut3-dev 命令
代替
$sudo apt-get install libglut-dev 命令。
网友遇到的问题
另外一个会导致报这个错误的原因是安装了OpenGL库,但是路径不对。楼主自己是没有遇到这类问题,还是在这里也Mark一下防止以后遇到类似的问题。
$ locate libGL
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/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/libGLEWmx.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10.0
/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/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2.0.0
$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
locate 命令用于查找OpenGL库所在路径;
ln [参数][源文件或目录][目标文件或目录]
命令为/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1文件创建软链接/usr/lib/libGL.so,如果/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1丢失,/usr/lib/libGL.so将失效。