Qt5.4静态编译方法

静态编译,就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so或.lib)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。这样就可以发布单一文件的EXE程序了。

工具/原料

  • Qt库
  • Python
  • Perl
  • Ruby

安装Perl

  1. 1

    双击从官网下载的安装包进入安装界面

    Qt5.4静态编译方法
  2. 2

    安装时注意选择这两项

    Qt5.4静态编译方法

安装Python

  1. 1

    双击从官网下载的安装包进入安装界面

    Qt5.4静态编译方法
  2. 2

    安装完成后,需要将安装目录添加到系统环境变量Path中

    Qt5.4静态编译方法

安装Ruby

  1. 1

    双击从官网下载的安装包进入安装界面

    Qt5.4静态编译方法
  2. 2

    注意选择这一项

    Qt5.4静态编译方法

安装Qt

  1. 1

    方法一:从官网下载源码zip压缩包直接解压即可

  2. 2

    方法二:从官网下载对应编译器的安装包进行文件安装

  3. 3

    安装完成后,需要将安装目录添加到系统环境变量Path中

    Qt5.4静态编译方法

静态编译Qt

  1. 1

    打开命令行

    Qt5.4静态编译方法
    Qt5.4静态编译方法
  2. 2

    输入gcc -v命令查看gcc编译器是否正确;配置正确,如下图所示

    Qt5.4静态编译方法
  3. 3

    输入perl -v命令查看Perl解析器是否配置正确,配置正确显示如下图

    Qt5.4静态编译方法
  4. 4

    输入python命令查看Python是否配置正确,正确显示如下图,按Ctrl+Z回车可以退出Python

    Qt5.4静态编译方法
  5. 5

    切换到Qt源码目录,假设为D:Qt

    命令为:

    D:

    cd D:Qt

    上述路径可以根据自己的实际路径进行修改

    Qt5.4静态编译方法
  6. 6

    输入如下命令进行配置

    configure.bat -confirm-license -opensource -platform win32-g++ -mp -release -static -prefix "C:Qt5.4.0_MinGW_static" -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit -skip qtwebengine

    其中的"C:Qt5.4.0_MinGW_static"为生成的静态编译代码库的路径,可以根据自己的需求进行相应更改

    Qt5.4静态编译方法
  7. 7

    配置完成如下图所示

    Qt5.4静态编译方法
  8. 8

    输入以下命令进行编译

    mingw32-make

    过程较长,大约几小时

  9. 9

    输入以下命令进行安装

    mingw32-make install

    安装完成如下图所示

    Qt5.4静态编译方法

配置Qt Creator

  1. 1

    添加上一部编译好的静态Qt版本

    Qt Creator -> Tools -> Options -> Build & Run -> Qt Versions,点击Add添加qmake,如图所示

    Qt5.4静态编译方法
    Qt5.4静态编译方法
  2. 2

    添加完成,点击“Apply”

    Qt5.4静态编译方法
  3. 3

    设置套件

    切换到“Kits”选项卡,点击“Add”如图进行配置,完成后点击OK退出设置

    Qt5.4静态编译方法
  4. 4

    打开C:Qt5.4.0_MinGW_staticmkspecswin32-g++qmake.conf,找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,将后面改成-static,如图所示

    Qt5.4静态编译方法

如何使用静态编译库

  1. 1

    至此Qt5.4.0静态编译配置完成

  2. 2

    新建工程时选择静态编译的套件,如图所示

    Qt5.4静态编译方法
  3. 3

    对工程进行编译时选择Release版本,如图所示

    Qt5.4静态编译方法
原文地址:https://www.cnblogs.com/mcumagic/p/5088000.html