目录

  • 一、前言
  • 二、下载Qt源码
  • 三、静态编译源码
  • 四、配置静态构建套件


一、前言

  为什么要静态编译Qt源码呢?有什么好处?
  静态编译Qt源码就是将Qt提供的各种插件编译成静态库,并且将其配置为Qt的静态构建套件,那么在构建项目的时候,可以把使用到的Qt功能插件静态库全部编译到执行文件中,在程序移植的时候就不需要再打包依赖的动态库了,使得程序的移植变得更加简单。

二、下载Qt源码

  Qt官网:https://download.qt.io/

  Qt官方提供的专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,Qt 官方下载网站如下图:

centos qtcreator 编译 qt编译套件_Qt


  点击进入archive目录,再点击进入qt子目录,就可以看到各个版本的Qt,根据需要点击进入对应版本的Qt目录,然后下载完整的源码包,如下:

centos qtcreator 编译 qt编译套件_centos qtcreator 编译_02


  此外,还可以在安装Qt软件的时候,选择把源码包安装下来。

centos qtcreator 编译 qt编译套件_linux_03

三、静态编译源码

  以Linux下Qt5.7.0为例,静态编译源码,具体编译步骤如下:

1、下载源码包,参照上述第二大点。

qt-everywhere-opensource-src-5.7.0.tar.xz

2、解压源码包。

tar xvf qt-everywhere-opensource-src-5.7.0.tar.xz

3、进入解压后的源码包路径。

cd qt-everywhere-opensource-src-5.7.0/

4、配置编译参数。

./configure -static -sql-mysql -continue -nomake examples -qt-xcb -prefix /opt/Qt5.7.0_static

参数描述
-static :静态编译
-sql-mysql :添加mysql
-nomake examples :不编译例程代码
-prefix /opt/Qt5.7.0_static :指定编译生成路径

5、编译。

sudo make -j4

6、编译安装。

sudo make install

7、打包静态编译后的文件(可选)。

tar czvf Qt5.7.0_static.tar.gz /opt/Qt5.7.0_static

注意:

  • 如果需要在静态编译添加mysql,必须要先本地安装mysql软件,否则无法添加。
  • 如果使用添加了mysql的静态构建套件编译Qt项目,移植到其他设备环境上面运行时,必须要保证本地已经安装mysql软件,否则程序无法运行。
  • Qt本身集成了sqlite数据库,所以在静态编译的时候默认添加进去了。

四、配置静态构建套件

1、打开Linux下的Qt软件,选择工具 ==> 选项,进入设置页面。

centos qtcreator 编译 qt编译套件_centos qtcreator 编译_04

2、进入构建和运行的配置,选择Qt Versions(Qt版本)页面,点击添加按钮,选择静态编译之后的qmake路径,然后确保路径正确,最后点击Apply(应用)按钮,保存配置。

centos qtcreator 编译 qt编译套件_Qt_05

3、选择构建套件(Kit)页面,点击添加按钮,根据实际修改名称,选择编译器,选择对应的Qt版本,最后点击Apply(应用)按钮,保存配置。

centos qtcreator 编译 qt编译套件_静态编译_06

4、新建Qt项目时,选择对应的构建套件就可以了。

centos qtcreator 编译 qt编译套件_qt_07