ubuntu下 qt5 cannot find -lGL解决方法

在lubuntu 16.04.1 x64 环境下安装 qt-opensource-linux-x64-5.8.0.run 后使用QtCreator编译任意一个QtWidget的例子,会遇到cannot find -lGL的问题

根据这篇博客
http://blog.csdn.net/syrchina/article/details/46776453
提示安装gl1-dev开发库
然而不知为何,apt提示
libgl1-mesa-dev : 依赖: mesa-common-dev (= 11.2.0-1ubuntu2) 但是它将不会被安装
依赖: libdrm-dev (>= 2.4.65) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

可行的暴力解决办法是安装aptitude,然后根据aptitude的某个解决方案,更换一大堆的包

然而根据这篇帖子
http://www.cnblogs.com/coding-my-life/p/5677256.html
发现,普通的依赖QtWidget的工程根本不需要gl开发库
根据提示修改 ./Qt5.8.0/5.8/gcc_64/mkspecs/common/linux.conf ,将QMAKE_LIBS_OPENGL这一行删除或则 = [空] , 都无法将Makefile中的-lGL去掉

最后不得已在pro工程文件里加入了一行 QMAKE_LIBS_OPENGL -= -lGL , 这样才强制的把gl从链接库中去掉 , 编译成功,运行成功

Written on April 26, 2017