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

工具/原料

  • Qt库
  • Python
  • Perl
  • Ruby

安装Perl

  1. 1

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

  2. 2

    安装时注意选择这两项

安装Python

  1. 1

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

  2. 2

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

安装Ruby

  1. 1

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

  2. 2

    注意选择这一项

安装Qt

  1. 1

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

  2. 2

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

  3. 3

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

静态编译Qt

  1. 1

    打开命令行

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

    命令为:

    D:

    cd D:\Qt

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

  6. 6

    输入如下命令进行配置

    configure.bat -confirm-license -opensource -platform win32-g++ -mp -release -static -prefix "C:\Qt\5.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:\Qt\5.4.0_MinGW_static"为生成的静态编译代码库的路径,可以根据自己的需求进行相应更改

  7. 7

    配置完成如下图所示

  8. 8

    输入以下命令进行编译

    mingw32-make

    过程较长,大约几小时

  9. 9

    输入以下命令进行安装

    mingw32-make install

    安装完成如下图所示

配置Qt Creator

  1. 1

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

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

  2. 2

    添加完成,点击“Apply”

  3. 3

    设置套件

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

  4. 4

    打开C:\Qt\5.4.0_MinGW_static\mkspecs\win32-g++\qmake.conf,找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,将后面改成-static,如图所示

如何使用静态编译库

  1. 1

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

  2. 2

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

  3. 3

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

Qt5.4静态编译方法的更多相关文章

  1. QT5.7静态编译(使用VS2013与VS2015编译,XP可用,有详细configure脚本。VS下Qt插件的配置。编译选项加上-mp可以开启多线程编译,编译速度提高2倍以上)

    http://blog.csdn.net/u011964923/article/details/52886908 configure -confirm-license -opensource -pla ...

  2. Qt5.1 静态编译

    下载Qt5.2.1的Qt-every 解压 cd qt-everywhere-opensource-src-5.1.1/  ./configure -prefix 安装目录 -release -sta ...

  3. Qt 静态编译发布和动态编译发布

    静态编译发布 你写了一个小型Qt程序,发布的时候不想要一大堆dll文件,就只想打包成一个exe文件,那么就需要用到静态编译. 下面的教程就是Qt静态编译环境配置 Qt5.6静态编译包下载地址 1.下载 ...

  4. golang静态编译

    golang 的编译(不涉及 cgo 编译的前提下)默认使用了静态编译,不依赖任何动态链接库. 这样可以任意部署到各种运行环境,不用担心依赖库的版本问题.只是体积大一点而已,存储时占用了一点磁盘,运行 ...

  5. 静态编译Qt5.4.1和Qt WebKit

    图灵社区文章地址:http://www.ituring.com.cn/article/195148WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以来都觉 ...

  6. 静态编译Qt5.4.1和Qt WebKit(网事如风的blog)good

    blog文章地址:http://godebug.org/index.php/archives/133/ WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以 ...

  7. QT5静态编译教程,主要针对vs2012(渡世白玉)

    QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错. 注:我自己编译的环境是:win server 2 ...

  8. Win7下静态编译QT5.12源码

    官方参考文档:https://doc.qt.io/qt-5/build-sources.html CSDN博客:https://blog.csdn.net/GG_SiMiDa/article/deta ...

  9. QT5.4.2静态编译(包含QtWebKit),在VS2013上创建项目,并成功运行

            Qt项目发布的exe程序,默认是以动态链接形式的,这样发布后的程序会附带好多Qt自己的dll库,这样文件数量不仅多,而且移植到其他电脑上的时候,还可能会遇到,提示缺其他库等各种运行不起 ...

随机推荐

  1. 6 个轻量级并且灵活的 PHP CMS 系统

    Anchor CMS Just like its introduction says, Anchor has a very simple UI. The installation takes lite ...

  2. python内置函数(4)

    12.pow:      >>> 2**10 1024 >>> pow(2,10) 1024 13.repr():忽略.. 14.reversed():反转.. 1 ...

  3. Linux命令记录

    端口号 1.查看端口号 使用netstat -anp来查看那些端口被打开.加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两 ...

  4. Linux准备——安装Ubuntu系统

    今天对于我这个试图向安装Linux方向走的童鞋来说是个值得纪念的日子——我成功的安装上了Ubuntu操作系统. 整个的过程并不复杂,主要是看了网上Linux社区的一个安装教程.开始,我还在XP下安装, ...

  5. C++调用DLL有两种方法——静态调用和动态调用

    C++调用DLL有两种方法——静态调用和动态调用 标签: dllc++winapinullc 2011-09-09 09:49 11609人阅读 评论(0) 收藏 举报  分类: cpp(30)  [ ...

  6. Web.Config 对静态文件 js css img 的客户端缓存策略

    <?xml version="1.0" encoding="utf-8"?> <configuration> <system.we ...

  7. 许多js框架或js库的min版本是怎么做出来的?

    如jQuery,Bootstrap,AngularJs,这些都有min版本,代码更加精简,功能却相同.看了源代码,几乎不可读. 这种事情的工具类型叫做“minifier”.请看传送门:Minifica ...

  8. TCP 协议

    == 已经了解了以太网和IP了,下面我们进入传输层,开始讲解TCP协议. == 仍然先把TCP报文段的格式放在这里,然后我们看图说话: TCP报文段也分为首部和数据两部分,首部默认情况下一般是20字节 ...

  9. libvirt TLS

    博客原文 http://hi.baidu.com/wwfmarcpjkbdiod/item/7b43c89e949d7fbbcd80e590 构建Libvirt的x509证书远程tls连接http:/ ...

  10. Wix - 教程

    1. 不错的教程 http://www.merlinia.com/mdt/WiXTutorial4.msl 2.