Linux下QT、cannot find -lGL、
近日在虚拟机下的QT5.11.2安装出现了一个bug,折腾好久才搞定。
环境:vmware + debain 9.5 + qt5.11.2 。 QT_DIR = /Qt5.11.2/5.11.2/gcc_64/mkspecs

找了各大网站、博客,基本都是说直接安装openGL的,然而我的虚拟机安装openGl总是出各种错。未果。
这里推荐这篇博文的解决方案: https://www.cnblogs.com/chujian1120/p/5460772.html
如果能够解决就不要继续往下看了,但是,如果find找不到libGL的动态库,那么就要继续往下看了。
参考 https://www.cnblogs.com/coding-my-life/p/5677256.html
总的来说就是,我们写的简单项目可能大部分用不到OpenGL,但是GUI模块是默认包含OpenGL的,我们看API就知道。

只要是GUI工程,就默认给Makefile加上-lGL的编译选项。
报错的根源就在于Makefile文件中多了一个-lGL的编译选项。

我们可以自己用qmake命令,去生成Makefile文件。
所以我们要做的就是把这个-lGL给干掉。
太长不看版:直接修改{QT_DIR}/modules/qt_lib_gui_private.pri,去掉第15行的 -lGL 即可,再次生成的Makefile中不会再出现 -lGL。
首先我们得知道qmake生成的makefile为啥会有这个-lGL,
要了解这个,首先我们得了解一些qmake的原理和配置。我也只是了解个皮毛,具体还是需要去看手册和脚本。
我的简单理解,就是通过一系列的脚本文件来生成与对应的pro文件和Makefile文件。
默认生成的pro文件中自带 gui 和 core 模块。而这两个模块的配置文件在 {QT_DIR}/modules文件夹下。
由于我们的是qt项目,所以qmake会去{QT_DIR}/features/文件夹下去找配置文件;之后会调用qt_module_pris.prf文件,这个文件中又会逐一去调用各个模块的pri文件;我们这里的是qt_lib_gui_private.pri。
以后如果需要写prf 文件,pri文件,QT自带的文件会是一个很好的参考。
Linux下QT、cannot find -lGL、的更多相关文章
- Linux下Qt的安装与配置
参考资料:http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html Linux 下编译.安装.配置 QT 下载qt 这里用的是4.7. ...
- linux下QT Creator常见错误及解决办法
最近因为在做一个关于linux下计算机取证的小项目,需要写一个图形界面,所以想到了用QT来写,选用了linux下的集成开发环境QT Creator5.5.1,但刚刚安装好,竟然连一个"hel ...
- Linux下Qt应用程序的发布(使用LDD命令查看所有依赖的库文件)
最近一直在学习Qt,用Qt写了一个程序,但是不知道怎么发布,网上说的都是在windows下怎么发布Qt应用程序,但是,在windows下Qt应用程序依赖的库文件与linux下的名字不同.于是,我就想到 ...
- 中标麒麟(linux)下Qt调用python
转自:https://blog.csdn.net/lwlgzy/article/details/83857297 http://www.cnblogs.com/jiaping/p/6321859.ht ...
- 【Qt开发】Linux下Qt开发环境的安装与集成
近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境.本人用的linux是CentOS 6.5.现在对安装过程做出总结.有两种安装方式,下面分别详述: 1 图形化安装 ...
- Linux下Qt创建共享库与链接共享库详解
随着程序写的逐渐变多,或多或少的我们都会使用别人写好的库:或者我们不想让别人看到我们的一些核心程序,可以将核心程序封装成库.本次和大家分享的是在Ubuntu下使用Qt生成共享库以及在Qt中链接共享库的 ...
- Linux 下Qt实现守护进程实例(转)
原文地址:Linux守护进程的编程方法(含实例) 作者:lingdxuyan 参考文献 Linux信号列表(zz) Linux 守护进程的编程方法 linux上编写守护进程的例程 Linux下后台守 ...
- 解决Linux下Qt编译出现"cannot find -lGL"以及无法安装libgl1-mesa-dev的问题
在Linux系统下安装好Qt5,打开Qt Creator新建一个最简单的工程,编译却出现"cannot find -lGL"错误. 在网上搜索解决方法,找到的方案基本上是安装lib ...
- linux下Qt问题cannot find -lGL collect2: error: ld returned 1 exit status
fedora下解决 yum groupinstall "Development Tools" yum install mesa-libGL-devel ubuntu下解决 sudo ...
随机推荐
- bzoj 3872: [Poi2014]Ant colony【树形dp+二分】
啊我把分子分母混了WA了好几次-- 就是从食蚁兽在的边段成两棵树,然后dp下去可取的蚂蚁数量区间,也就是每次转移是l[e[i].to]=l[u](d[u]-1),r[e[i].to]=(r[u]+1) ...
- 超完整的Chrome浏览器客户端调试大全
引言 “工欲善其事,必先利其器” 没错,这句话个人觉得说的特别有道理,举个例子来说吧,厉害的化妆师都有一套非常专业的刷子,散粉刷负责定妆,眼影刷负责打眼影,各司其职,有了专业的工具才能干专业的事,这个 ...
- [NewTrain 10][poj 2329]Nearest Number - 2
题面: http://poj.org/problem?id=2329 题解: 这题有很多做法 1. 搜索 复杂度$O(n^4)$ 但是实际上远远达不到这个复杂度 所以可以通过 2. 对于每一个格子,我 ...
- April Fools Contest 2017 A
Description Input The input contains a single integer a (1 ≤ a ≤ 30). Output Output a single integer ...
- 洛谷 P3480 [POI2009]KAM-Pebbles
https://www.luogu.org/problemnew/solution/P3480 讲不清楚... 首先对原序列做差分:设原序列为a,差分序列为d 那么,每一次按题意在原序列位置i处取走石 ...
- 字符串处理 Codeforces Round #297 (Div. 2) B. Pasha and String
题目传送门 /* 题意:给出m个位置,每次把[p,len-p+1]内的字符子串反转,输出最后的结果 字符串处理:朴素的方法超时,想到结果要么是反转要么没有反转,所以记录 每个转换的次数,把每次要反转的 ...
- 模拟 HDOJ 5095 Linearization of the kernel functions in SVM
题目传送门 /* 题意:表达式转换 模拟:题目不难,也好理解题意,就是有坑!具体的看测试样例... */ #include <cstdio> #include <algorithm& ...
- `<img>`放到`<div>`中底部出现空隙 以及解放方案.
形成情况: 外部的 不设置宽高, 由内部图片撑开 撑开后, 底部会有空隙 问题原因: div元素中的行内元素的默认vertical-align对齐方式是基线baseline img是行内元素, 所以会 ...
- Linux Export命令
一.Windows 环境变量 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似 ...
- wamp无法进入phpMyAdmin或localhost的解决方法
我用的是最新版的wampsever5,在win7(64位)下安装正常使用,没有无法进入phpMyAdmin的问题,但是我在虚拟机安装了win8(64位专业版),测试在win8下面的使用情况时,就有问题 ...