我們在前面介紹了如何安裝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程序,就可以正常編譯程序了。