前言
目前大部分 Linux
系統都提供了 Qt
的安裝包,通常我們可以直接通過指令從軟件源下載。Qt
作爲常用的軟件,大部分操作系統亦會提供。但是,若我們想安裝指定的版本。通常是沒有的,這可咋辦?
自己動手豐衣足食:
- 安裝源指定的
Qt
及qtcreator
,下載目標版本的Qt
源碼,編譯安裝後在Qtcreator
中構建目標版本的Kit套件即可。 - 下載編譯
Qt
源碼,生成qmake
,下載Qtcreator
源碼並使用Qt
編譯。
本文選用的是 第一種。
Raspberry Pi 安裝Qt
以下三步更新操作按需執行:
# 更新源列表
sudo apt-get update
# 更新軟件
sudo apt-get upgrade
# 更新內核和固件
sudo rpi-update
Qt及Qtcreator安裝
sudo apt-get install qt5-default
sudo apt-get install qtcreator
注意:Qtcreator是Qt編譯的QtIED,他們是獨立的。
編譯安裝指定Qt版本
下載源碼
我的下載路徑是:/qt/archive/qt/5.9/5.9.3/single/qt-everywhere-opensource-src-5.9.3.tar.xz
解壓
tar xvf qt-everywhere-src-5.9.3.tar.xz
安裝依賴
sudo apt-get install libncurses5-dev libreadline-dev libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-glx0-dev
編譯設置
./configure -prefix /home/pi/SW/Qt5.9.3 -debug -skip qtdeclarative -opensource -confirm-license -no-openssl -no-opengl -nomake examples -nomake tests -qt-xcb -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -no-compile-examples
解釋一下:
- prefix
是make install
的安裝路徑,如果不指定,就會安裝到默認的/usr/local/
下-debug
是編譯debug版本的Qt
-opensource
是選定開源版本-confirm-license
是確定下協議-nomake examples -nomake tests
可以減少編譯,以加快編譯速度
make and install
由於編譯非常慢,這裏我們利用 CPU4核
編譯;儘管如此,也至少需要 4h。
make -j4
編譯完成後,我們需要進行安裝
sudo make install
若我們設置時指定了 prefix
,則將安裝到 prefix目錄
,否則安裝到默認路徑。
驗證
進入 bin
目錄,執行
./qmake -v
查看 Qt
版本是否與預期一致
新建 Kit套件
,選擇我們編譯的 qmake
然後新建工程以驗證,驗證時出現了找不到 fonts
的問題。
字體無法顯示的問題
根據錯誤提示,cd
到相應路徑,創建文件夾 fonts
sudo mkdir fonts
在本機搜索字體文件
sudo find / -name "*.ttf"
#亦或
sudo find / -name "fonts"
將字體文件複製到剛剛創建的 fonts
目錄下
cp /xx/xxx/xx.ttf xxx/xxx/lib/fonts