我们在前面介绍了如何安装QT,安装完后可以使用它编写QT程序。使用QT编写程序还是一如既往的好用,不过在编译QT程序的时候遇到了编译错误。当我们编译写好的QT应用程序时,提示“cannot find -lGL”
。下面是错误的截图:
其实该错误是因为链接时找不到OpenGL库,这说明我们的系统中缺少OpenGL库。不过,我们可以使用QT创建标准的C程序,这时候编译程序不会产生错误,因为标准的C程序不会使用OpenGL图形库。
既然是缺少OpenGL图形库造成了编译错误,那么我们在系统中安装库就可以解决错误,不过OpenGL是商业软件,我们可以使用与它具有相同功能的开源版本库:mesa。下面是具体的安装过程:
root # apt-get install libgl1-mesa-dev //使用该命令安装库
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
g++ g++-4.8 libstdc++-4.8-dev
Use 'apt-get autoremove' to remove them.
下列【新】软件包将被安装:
libgl1-mesa-dev
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 581 个软件包未被升级。
需要下载 5,258 B 的软件包。
解压缩后会消耗掉 95.2 kB 的额外空间。
获取:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libgl1-mesa-dev i386 10.1.3-0ubuntu0.6 [5,258 B]
下载 5,258 B,耗时 1秒 (4,972 B/s)
Selecting previously unselected package libgl1-mesa-dev.
(正在读取数据库 ... 系统当前共安装有 162364 个文件和目录。)
Preparing to unpack .../libgl1-mesa-dev_10.1.3-0ubuntu0.6_i386.deb ...
Unpacking libgl1-mesa-dev (10.1.3-0ubuntu0.6) ...
正在设置 libgl1-mesa-dev (10.1.3-0ubuntu0.6) …
安装完该库后,再去编译QT程序,就可以正常编译程序了。