Qt发布(一) ------ 静态编译解决Qt安装包大小问题

本文介绍了如何通过Qt静态编译解决Windows应用程序发布时因大量插件和DLL导致的体积过大问题。详细阐述了配置、编译过程,并提到了静态编译后的库依赖变化以及Qt5动态资源文件的处理方法,确保资源文件能正确注册并减少额外的文件依赖。
摘要由CSDN通过智能技术生成

    Qt在Windows开发中比较重要的一个问题就是,发布的时候会带上一大堆插件+自己的dll,即使是最简单的helloworld发布,至少也得带上QWidget+QtCore,外加Windowsplatform的plugin(Qt4没有platform的插件,但是有QtGui),简单的一个demo就得接近20M。更何况实际工程之中往往会用到一些更占据体积的模块,比如Webkit(这个原生的webkit依赖奇多,因为要增加对qml的支持,所以链接了包括网络+qml+基础QWidget模块在内的所有模块。其实,有些网络模块和qml模块一般是不会用到的,增加了依赖的同时也增加了体积)

    解决这种常规模块(qt源代码目录下qtbase中的模块,我称之为常规模块,大部分不需要特殊的三方依赖即可编译)的编译大小问题,就是configure的选项调整成了Qt静态编译,然后使用qt静态编译的lib进行编译链接,这样链接出来的可执行文件会比原来使用动态dll的方法总体积小上很多。

    整体过程大致如下:

  1. 先下载对应的qt-everywhere-opensource包,下载完毕之后使用管理员权限cmd进入源码目录,输入如下:
        configure -static -release -desktop opengl -skip qtdoc -skip qtwebkit -nomake examples(这里可以用-debug-and-release,但是debug生成的体积十分大,浪费硬盘而且没啥用,可以不生成, 跳过examples生成步骤会极大的节省编译时间和硬盘占用,examples主要是

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值