解決can't find -lGL的問題
轉自:http://blog.csdn.net/tingyue_/article/details/53463563
實驗問題:執行最簡單”hello world!”,出現can’t find -lGL的問題
實驗陣地: ubuntu14.04+qt5.2
問題分析:
出現該類問題的原因有2個:
(1)沒有安裝libGL;
(2)libGL沒有正確連結。
問題解答:
(1)如果是問題1,這個好辦。只要安裝libGL即可。這個在其他部落格中也都有提到。
如http://blog.sina.com.cn/s/blog_500bd63c0102uzmt.html
只需終端執行
$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
檢視libGL的硬連結,如果libGL存在硬連結的話,會出現類似資訊:
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,編譯成功!
相關文章
- Supervisor 解決 can't find command *
- cordova 解決can’t not find moudle " plugman platform ios"PlatformiOS
- Qt 之 執行Qt Creator出現cannot find -lGL的問題的兩種解決QT
- linux上“rman can't open target”問題解決Linux
- 解決問題:Variable 'time_zone' can't be set to the value of 'NULL'Null
- 解決Error (1133): Can’t find any matching row in the user tableError
- 完美解決stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.ErrorPython
- 解決Can not allocate log問題的方法
- 問題解決zipimport.ZipImportError: can‘t decompress data; zlib not availablImportErrorAI
- python報錯問題解決:'ascii' codec can't encode characterPythonASCII
- eslint --fix 報錯 can't not find modulesEsLint
- 【linux】Can't connect to MySQL server on 'XXX' (13)問題解決方式LinuxMySqlServer
- 小白:關於處理“can't find '__main__' module in ”這個問題的詳細處理方式!AI
- Could not find jar tool executable問題解決JAR
- MySQL問題記錄--Can't connect to MySQL server on localhost (10061)解決方法MySqlServerlocalhost
- can't create PID file問題處理
- 【vnc】vncserver: couldn't find "xauth" on your PATH 問題VNCServer
- 安裝caffe時候找不到boost怎麼辦?(boost的引用問題make can‘t find Boost‘s include files)
- "ScrollView can host only one direct child"問題解決View
- Can't find keyplane that supports type 4 for keyboard iPhone PortraitTiPhoneAI
- 解決json顯示日期帶T的問題。JSON
- can't assign requested address 錯誤解決
- Variable 'character_set_client' can't be set to the value of Null的解決方法clientNull
- if doesn't support the "condition"attribute 問題解決
- Mysql:Variable 'XXXt' can't be set to the value of 'NULL'解決MySqlNull
- FileZilla:425 Can't open data connection for transfer of解決辦法
- mysql:Variable 'character_set_client' can't be set to the value of 'NULL'解決MySqlclientNull
- "Error: Can't find libjava.so" 9.2.0.4 on RH 4.0 x86-64ErrorJava
- 啟動infobright的時候遇見Can't find file: './mysql/host.frm'MySql
- 辛星淺析ruby下的mkmf.rb can't find header files for ruby atHeader
- 解決drbd不能啟動問題(Can not load the drbd module.)
- "locate: can not open `/var/lib/mlocate/mlocate.db"問題解決
- 解決svnserve: Can't bind server socket: Address already in useServer
- Navicat 連線 MySQL 失敗:2002-can‘t connect to server on localhost(10061)問題解決MySqlServerlocalhost
- Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist解決辦法ErrorMySql
- 解決「問題」,不要解決問題
- T-SQL問題解決集錦——資料加解密SQL解密
- Doris建立表報錯Failed to find enough host with storage medium問題解決AI