前言
目前大部分 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