QT的大名,我覺得大家都聽過,我們經常使用它做Linux系統應用開發。不過Mint默認沒有安裝該軟件,其實不只是Mint,其它Linux系統也不會默認安裝該軟件,畢竟它屬於一種開發工具或者說開發框架,只有軟件開發人員才需要這種軟件。我把它歸類為應用軟件感覺有點不恰當,不過就當作應用軟件中的開發工具吧。
我來分享一下在Mint上安裝QT的方法,希望對大家有幫助。這些方法中,有安裝失敗的例子,大家當作反面教材吧,希望大家能從反面教材中得到教訓,少走彎路。
在Linux上安裝軟件,優先使用軟件源中的軟件,於是我使用apt命令搜索了下QT的開發包,結果如下所示:
apt-cache search qt-dev //搜索命令
… // 省略沒有用的結果
libsoqt-dev-common - Qt GUI component toolkit for Inventor - common development files
libsoqt4-dev - Qt4 GUI component toolkit for Inventor - development
libsvnqt-dev - Qt wrapper library for Subversion (development files)
libzbarqt-dev - bar code scanner and decoder (Qt bindings development)
libibus-qt-dev - qt-immodule for ibus (QT4) (development package)
大家可以看到,軟件源中的開發包還是QT4版本.QT目前已經是版本5了,雖然說QT4這種版本也可以開發,不過,還是安裝新版本比較好。而且QT5新加的功能還不少呢。於是便放棄使用這種安裝方法。
使用在線安裝包進行安裝
我們可以到QT的官網上進行下載在線安裝包,鏈接如下:https://www.qt.io/download-open-source/#section-2
官方下載頁面中有針對Windows,Mac和Linux系統的版本,每種系統中又有在線(0nline)安裝包,離線(Offline)安裝包和源代碼。我使用的Mint是32位的,所以准備下載與其對應的在線安裝包進行安裝
Qt Online Installer for Linux 32-bit (31 MB) (info)
下載完成後需要修改該文件的權限,不然無法運行該文件,修改方法如下:
chmod 771 QT Online Installer for Linux32-bit.run
然後開始安裝該軟件,下面是安裝的命令(或者直接雙擊來運行也可以):
./ QT Online Installer for Linux32-bit.run
安裝的界面如下:
只需要點擊下一步就可以,相信大家不會有問題,因為是在線安裝,接下來就是漫長的等待。不過結果還是令人失望的,因為有些安裝包根本無法下載,只是等待,下載速度0kb/s。這要等到什麼時候呢,因此,只能放棄這種安裝方法了。
此外,在使用該方法安裝時還有一個問題,就是該軟件只能安裝在home目錄下,因為當前用戶不是root,沒有根目錄下其它目錄的寫權限。雖然在安裝到根目錄下其它目錄時會提示輸入root的密碼,但是輸入後是沒有用的,仍然沒有權限進行安裝。而且安裝進程一直處於sleep狀態,只能殺死安裝進程。
使用離線安裝包進行安裝
在線安裝包在安裝過程無法下載部分內容,那麼我准備使用離線安裝包。可是只有64位版本的Linux離線安裝包,我的Mint是32位的,沒有32位版本的Linux離線安裝包,看來該方法也只能放棄了。讓我不明白的是QT提供32位和64位的Windows離線安裝包。難道是讓大家到Windws上開發Linux應用程序?
使用源代碼進行安裝
QT是開源的軟件,如果使用開源軟件,那麼遵守GPL許可就可以。如果做商業軟件,那麼需要購買商業版本。我們使用開源的QT版本,直接下載它的源代碼,然後自己編譯並且安裝。
For Linux/OS X users as a tar.gz file (383 MB) (Info)
解壓下載後的源代碼:
tar -zxv -f qt-everywhere-opensource-src-5.6.0.tar.gz
解壓源代碼後,通過cd命令進入到源代碼目錄中進行安裝,安裝步驟如下:
1.配置 ./config 2.編譯 make 3.安裝 make -install
配置主要是為了生成make文件,配置完成後的結果如下圖所示。
如果不是這個結果,那麼就是配置過程中出現問題了。
配置時默認的安裝目錄是/usr/local/Qt5.6.0.如果不想安裝在這個目錄下,可以使用命令指定安裝目錄:
./config -prefix dir-name
接下來就是編譯了,編譯的時間估計在1小時左右,編譯時間與電腦配置有關,我的雙核電腦用了1小時才編譯完,結果還有編譯錯誤。如果想加快編譯速度,可以使用make -j4表示使用4個線程來編譯,這樣估計20分鐘左右可以編譯完成。
編譯錯誤大部分是缺少庫文件,需要找到錯誤原因,然後再安裝相應的庫文件,比如提示缺少libxcb-render-util0-dev庫文件時,需要安裝該文件,使用apt-get命令安裝就可以。不過編譯的錯誤雖然只有2-3個,但是解決了這個錯誤,又有哪個錯誤,總是解決了舊錯誤,又出現新錯誤,沒完沒了。這何時是個頭呀。make -clean。我不編了,哈哈。然後刪除源代碼目錄及其中的文件,省的浪費硬盤空間。
在解決編譯錯誤的過程中,共享點經驗,在配置前先安裝部分基本的庫,安裝命令如下:
apt-get install build-essential libgl1-mesa-dev
安裝這些庫後,配置過程中就不會有問題,而且它也能解決部分庫編譯時找不到的錯誤。此外,官方也提供了一些安裝方法,不過,我試過後覺得不好用。畢竟每個人的系統不同,安裝的庫也不同,究竟缺少哪種庫,在編譯發生錯誤了才能知道。此外,編譯錯誤後就不要再進行安裝了,不然安裝時也會發生錯誤。
最後的救星
編譯源代碼太折磨人了,我在官網上到處查找解決方法,屢敗屢戰。功夫不負有心人,我找到了舊版本的離線安裝包:
qt-opensource-linux-x86-5.5.1.run
該版本是QT5.5,比當前最新版本QT5.6舊一些,不過開發軟件的時候比QT4要好用很多。最重要的是有QT5的新功能。離線安裝包的下載路徑如下:http://download.qt.io/official_releases/qt/
使用離線安裝包安裝軟件的方法和使用在線安裝包的方法相同,只是不需要等待下載包而已。上面介紹在線安裝時已經做過說明,這裡就不再做詳細說明。下面是安裝過程的截圖.
該版本的安裝包還有一個優點,那就是安裝時可以安裝到根目錄下面的其它目錄中,我把它安裝到了:/usr/local/Qt5.5.1目錄中。安裝時提示輸入sudo密碼,如下圖所示,輸入密碼後就可以正常安裝。
安裝完成後會在開始菜單的編程選項中生成QT Creator圖標。點擊該圖標可以啟動QT程序,我們就可以使用QT開發自己想要的應用程序了。
最後,我來做個總結:像QT這種大型程序,如果軟件源中有安裝包,那麼最好使用軟件源中的安裝包。如果沒有的話,最好使用離線安裝包。要不然安裝也是一個耗時的過程,會讓你浪費不少寶貴的時間。