目录
- 一、前言
- 二、下载Qt源码
- 三、静态编译源码
- 四、配置静态构建套件
一、前言
为什么要静态编译Qt源码呢?有什么好处?
静态编译Qt源码就是将Qt提供的各种插件编译成静态库,并且将其配置为Qt的静态构建套件,那么在构建项目的时候,可以把使用到的Qt功能插件静态库全部编译到执行文件中,在程序移植的时候就不需要再打包依赖的动态库了,使得程序的移植变得更加简单。
二、下载Qt源码
Qt官网:https://download.qt.io/
Qt官方提供的专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,Qt 官方下载网站如下图:
点击进入archive目录,再点击进入qt子目录,就可以看到各个版本的Qt,根据需要点击进入对应版本的Qt目录,然后下载完整的源码包,如下:
此外,还可以在安装Qt软件的时候,选择把源码包安装下来。
三、静态编译源码
以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软件,选择工具 ==> 选项,进入设置页面。
2、进入构建和运行的配置,选择Qt Versions(Qt版本)页面,点击添加按钮,选择静态编译之后的qmake路径,然后确保路径正确,最后点击Apply(应用)按钮,保存配置。
3、选择构建套件(Kit)页面,点击添加按钮,根据实际修改名称,选择编译器,选择对应的Qt版本,最后点击Apply(应用)按钮,保存配置。
4、新建Qt项目时,选择对应的构建套件就可以了。