在xubuntu静态编译了很多次的Qt5.14.2源码都没编译成功。
今天在参考了两篇文章得以实现:
Ubuntu 20.04 静态编译QT5.14.2_ubuntu qt 静态编译-CSDN博客
一、准备工作:
1.安装必要的库文件:
sudo apt-get update
sudo apt-get upgradesudo 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
2.下载qt源码
在qt官网下载qt-everywhere-src-5.14.2.tar.xz,解压缩
tar -xf qt-everywhere-src-5.14.2.tar.xz
cd qt-everywhere-src-5.14.2
touch autoConfigure.sh
autoConfigure的内容如下:
#! /bin/bash
QT_INSTALL_PATH="-prefix /home/Qt5.9.9/qtstatic/" #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 -qt-zlib -qt-libpng -qt-libjpeg -openssl -opengl "
#选择Qt版本(开源, 商业), 并自动确认许可认证
CONFIG_PARAM+="-opensource " #编译开源版本, -commercial商业版本
CONFIG_PARAM+="-confirm-license " #自动确认许可认证
echo "./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH"
./configure $QT_INSTALL_PATH $CONFIG_PARAM $QT_COMPLIER -skip qtsensors -skip qtdoc -skip webengine
二、开始编译文件
1. 生产配置文件:
sudo su
./autoConfigure.sh
这一步之后有很多Note不用管,可能会有库相关的错误。方法当然是安装更新。
2. 编译
make -j12
这一步可能产生很多的Error,如果缺少库就安装后重新编译,还遇到相同错误的话,直接-skip qtsensors -skip qtdoc -skip webengine
我遇到的make error是:QtWebengine "Missing archive files from linking pri"
在网上没有找到解决方案,通过 -skip webengine 解决。
3.安装
make install -j12
这一步如果没报错就在/home/Qt5.9.9/qtstatic下安装完成,后面只需要在qt中设置一下编译器就可以了。