问题现象
在QtCreator中编译Qt APP项目,然后编译输出报了/usr/bin/ld: cannot find -lGL问题:
问题解析
一般我们的Ubuntu系统中正常是有libGL.so的(可能包含有不同版本),不过可能库不在/usr/bin 目录下,也没有在此路径下创建过这个库的快捷方式,Qt找不到OpenGL的动态链接库(libGL.so),所以就报了这个问题。
解决方法
在/usr/bin/ 目录下创建一个libGL.so的链接。
- 我们先查找到libGL 所在的位置: (用grep过滤一下,因为会有很多不相关的搜索结果出来)
locate libGL | grep libGL.so*
注:(如果系统报了sudo: locate: command not found ,表示系统中没有locate指令,
需要我们安装一下mlocate) 安装指令如下:
sudo apt-get install mlocate
我这边的部分搜索结果如下:
linux系统中可能存在多个版本的libGL.so,我们使用 /usr/lib/x86_64-linux-gnu/libGL.so.1 这个库。
- 然后创建链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1 /usr/lib/libGL.so
在/usr/lib 下创建的链接:
然后再回到QtCreator编译Qt工程就正常了。