鱼C论坛

 找回密码
 立即注册
查看: 2732|回复: 0

[好文转载] Qt之打包发布

[复制链接]
发表于 2015-3-26 20:42:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ~风介~ 于 2015-11-20 20:03 编辑

原文出处:Qt之打包发布(NSIS详解)

一、发布方式      
       
    Qt发布的时候,通常使用两种方式:   
   (1)静态编译
   (2)动态编译    静态编译:把相关联的库一并引入可执行程序,虽然发布简单,但可执行程序较大。。。
    动态编译:相关联的库,以dll的形式引用,不被包含进可执行程序,发布不方便,但可执行程序较小。。。
    静态发布虽然不需要较多的dll,发布简单、方便,但是往往会牵扯到授权问题(详情请查看Qt LGPL授权),动态发布则可以避免。。。如果附带了Qt的dll,就相当于发布了Qt的dll,而这些库是属于Qt的,这足以保证使用者知道程序使用了LGPL版本的Qt(这部分还有待探讨)。


二、动态编译:
    思路:把相关依赖项放到和源程序放到相同文件夹。
   常用依赖库
   (1)Qt模块库
        Qt5Cored.dll
        Qt5Guid.dll
        Qt5Widgetsd.dll
    (2)ICU依赖库
        icudt51.dll
        icuin51.dll
        icuuc51.dll
    (3)EGL依赖库
        libEGLd.dll
        libGLESv2d.dll
    (4)插件库(Qt安装目录下即可找到D:\Software\Qt\Qt5.1.0\5.1.0\msvc2010\plugins\platforms)
        图片支持库:imageformats
        音频、视频支持库:mediaservice
        平台支持库:platforms
     等等。。。
     注意:查找对应的插件文件夹,粘贴到安装目录(一定要保持目录结构,例如“platforms/***.dll”),详细结构见打包发布准备的文件组织结构。

    (5)VS运行时库(在VS安装目录下即可找到D:\Software\Microsoft Visual Studio\VC\redist)
        msvcp100d.dll
        msvcr100d.dll

    注意:发布程序的时候注意版本(Debug/Release)
    如果是Debug版本的则是.前面带d的(Qt5Cored.dll、Qt5Guid.dll、Qt5Widgetsd.dll)
    如果是Release版本的则是.前面不带d的(Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll)

   
    以上是我所用到的依赖库,基本可以解决问题.





评分

参与人数 1荣誉 +2 鱼币 +2 贡献 +2 收起 理由
拈花小仙 + 2 + 2 + 2 介介是暖侽 哈~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 17:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表