2013-03-12 38 views
24

我在試圖在Linux上安裝Qt時很難。我在網站上下載了.run文件並安裝了Qt。然而,當我嘗試編譯使用Qtcreator默認的Hello World項目,我得到如下:在Linux上安裝Qt,無法找到-lGL

error cannot find -lGL 

我能夠通過發出命令來解決這個問題:

sudo apt-get install libqt4-dev 

但是,我因爲我想使用Qt5並且我下載的lib的名稱意味着版本4,所以對該解決方案不滿意。有人可以解釋發生了什麼並告訴我我的解決方案是否正確?如果沒有,我應該怎麼做才能在Linux上運行Qt。

LtWorf提供了額外的問題

正確答案,是安裝libGL函數-dev的。對於將來的這類問題,有人可以告訴我,我應該如何猜測我必須下載這個特定的庫?爲什麼在最後有-dev有一些庫?他們提供什麼?

+4

Google支持者您好,請不要安裝庫來解決這個問題,看http://stackoverflow.com/a/32184137/878361 – destan 2015-08-24 13:58:26

+0

只需從Makefile中的LIBS中刪除-lGL也適用於我。顯然,我的項目沒有任何libgl。 – MKaama 2017-05-30 14:37:15

回答

34

那麼它試圖鏈接libgl並沒有找到它。您應該安裝libgl-dev

-l是一個鏈接器選項,它告訴鏈接器使用某個庫。 例如,您可以有-lmagic這意味着您要使用libmagic

通常所有的庫被稱爲libsomething,並在Debian上,你會發現3包叫做: libsomething libsomething-DBG libsomething-dev的

第一個1是圖書館,第二個是編譯庫調試符號,因此您可以更輕鬆地理解堆棧跟蹤,最後一個是開發包,它包含.h文件,因此您可以鏈接到庫。

+0

謝謝。我會很快將答案標記爲答案。我在原來的問題中增加了另一個問題,你可能知道答案。 – Gradient 2013-03-12 23:55:48

+0

完成。你只需鍵入apt-cache show libgl-dev即可查看軟件包的描述。 – LtWorf 2013-03-13 07:20:53

+0

謝謝。我不知道這個命令。無論如何,我試過了,它說它純粹是虛擬的。 – Gradient 2013-03-13 22:19:16

1

您是否已經安裝了libgl-dev?如果不安裝它,它應該工作。

4

在Fedora 17,我所做的:

sudo yum install mesa-libGL-devel 
5

命令和apt-get安裝libGL函數-dev的