解決can t find lGL的問題

2021-07-27 21:29:44 字數 2333 閱讀 8482

**:

實驗問題:執行最簡單」hello world!」,出現can』t find -lgl的問題

實驗陣地: ubuntu14.04+qt5.2

問題解答

(1)如果是問題1,這個好辦。只要安裝libgl即可。這個在其他部落格中也都有提到。

如只需終端執行

$sudo apt-get install build-essential 

$sudo apt-get install libgl1-mesa-dev

安裝libgl即可。(libgl是opengl的庫)

(2)如果是問題2,就稍微難辦一點。

首先,我們利用命令

$/sbin/ldconfig -v | grep gl
檢視所有有關gl的鏈結庫的鏈結關係。

如果是問題2,則會有這樣的列印資訊

/sbin/ldconfig.real: cannot stat /usr/lib/x86_64-linux-gnu/mesa/libgl.so: no such file or directory
表示」無法獲取libgl的鏈結資訊:沒有該檔案或目錄」。我們進入/usr/lib/x86_64-linux-gnu/mesa/

$cd /usr/lib/x86_64-linux-gnu/mesa/
確實能找到libgl.so。但因為不存在與之相關的硬鏈結,而導致libgl.so失效。

這時候,應該怎麼辦呢?

a)首先我們進一步確認一下libgl.so是否失效。(畢竟之後涉及到在/usr/lib/x86_64-linux-gnu資料夾下刪除,一不小心刪錯了,可是要命的)

$ls -l libgl.so
lrwxrwxrwx 1 root root 13 12月  4 20:42 libgl.so -> ../libgl.so.1
如果出現

0 libgl.so
或其他錯誤資訊,則說明這個libgl.so已經失效。

b)之後,搜尋是否存在libgl.so的硬鏈結。(一般如果第一步,安裝已經做過的話,是肯定存在的)

$cd 

$sudo find /usr/lib/ -name libgl.so*

列印資訊

/usr/lib/x86_64-linux-gnu/mesa/libgl.so

/usr/lib/x86_64-linux-gnu/libgl.so.1.0.0

/usr/lib/x86_64-linux-gnu/libgl.so

/usr/lib/x86_64-linux-gnu/libgl.so.1

我們發現在/usr/lib/x86_64-linux-gnu/資料夾下存在硬鏈結libgl.so.1.0.0

接下來,我們的問題就只剩下如何讓/usr/lib/x86_64-linux-gnu/mesa/libgl.so關聯上/usr/lib/x86_64-linux-gnu/libgl.so.1.0.0

由於在/usr/lib/x86_64-linux-gnu/中libgl.so.1是libgl.so.1.0.0的軟鏈結,所以我們只要將/usr/lib/x86_64-linux-gnu/mesa/libgl.so關聯上/usr/lib/x86_64-linux-gnu/libgl.so.1即可

執行以下操作

$cd /usr/lib/x86_64-linux-gnu/mesa/

$sudo rm libgl.so #刪除libgl.so

$sudo ln -s ../libgl.so.1 libgl.so #建立軟鏈結

重新執行

ls -l libgl.so
這時應該會有列印資訊

lrwxrwxrwx 1 root root 13 12月  4 20:42 libgl.so -> ../libgl.so.1
再次執行

$/sbin/ldconfig -v | grep gl
錯誤

/sbin/ldconfig.real: cannot stat /usr/lib/x86_64-linux-gnu/mesa/libgl.so: no such file or directory
會消失。

重新編譯qt,編譯成功!

解決ADB server didn t ACK問題

之前執行eclipse執行android應用都沒問題,今天突然出問題了,控制台報錯 the connection to adb is down,and a severe error has occured.you must restart adb and eclipse.please ensure ...

解決ADB server didn t ACK問題

之前執行eclipse執行android應用都沒問題,今天突然出問題了,控制台報錯 the connection to adb is down,and a severe error has occured.you must restart adb and eclipse.please ensure ...

解決ADB server didn t ACK問題

執行eclipse執行android應用,控制台報錯 the connection to adb is down,and a severe error has occured.you must restart adb and eclipse.please ensure that adb is cor...