Ubuntu 20.04 静态编译QT5.14.2

环境准备

  • Ubuntu 20.04.2 LTS
  • qt-everywhere-src-5.14.2.tar.xz

下载地址:http://download.qt.io/archive/qt/
选择single版本的qt-everywhere-src-5.14.2.tar.xz下载。
在Ubuntu环境下解压(注意不要解压到有中文的路径下)。
解压命令 tar -xvf qt-everywhere-src-5.14.2.tar.xz

安装必备组件

sudo apt-get install build-essential gcc g++ cmake libxkbcommon-x11-dev libgl1-mesa-dev libglu1-mesa-dev libfontconfig1-dev libmysqlclient-dev libxcb-xfixes0-dev libxcb-util-dev

编译源码

进入Qt源码根目录,编写autoConfigure.sh配置脚本:

touch autoConfigure.sh # 创建配置脚本
gedit autoConfigure.sh # 编辑脚本文件

填入如下内容:

#! /bin/bash

QT_INSTALL_PATH="-prefix /home/xxx/qt5.14.2_static"     # Qt安装路径(自己对应修改)
QT_COMPLIER+="-platform linux-g++-64"  # 编译器

CONFIG_PARAM+="-static "               # 静态编译
CONFIG_PARAM+="-release "             # 编译release
CONFIG_PARAM+="-recheck-all "
CONFIG_PARAM+="-nomake examples "    # 不编译examples
CONFIG_PARAM+="-nomake tests "        # 不编译tests

CONFIG_PARAM+=" -qt-xcb -xkbcommon -fontconfig -sql-mysql -qt-zlib -qt-libpng -qt-libjpeg "

# 选择Qt版本(开源, 商业), 并自动确认许可认证
CONFIG_PARAM+="-opensource "         # 编译开源版本, -commercial商业版本
CONFIG_PARAM+="-confirm-license "      # 自动确认许可认证

echo "./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH"
./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH

执行如下命令开始配置和编译:

chmod +x autoConfigure.sh
./autoConfigure.sh
make -j4 # 依据机器性能不同,耗时不一样

安装到指定目录

make install -j4 # 依据机器性能不同,耗时不一样

配置环境变量脚本

touch qtEnvironment.sh
gedit qtEnvironment.sh

填入如下内容:

#! /bin/bash

QTDIR=/home/xxx/qt5.14.2_static

PATH=$QTDIR/bin:$PATH     
MANPATH=$QTDIR/doc/man:$MANPATH     
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH     

export QTDIR PATH MANPATH LD_LIBRARY_PATH

查看版本

chmod +x qtEnvironment.sh
source qtEnvironment.sh
qmake -v

出现qmake版本号为5.14.2,即可正常使用(每次使用前都需要source一次环境变量脚本),如下所示:

QMake version 3.1
Using Qt version 5.14.2 in /home/xxx/qt5.14.2_static/lib

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值