门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
开放区(网友自由发帖区)
›
文章教程
›
Qt之打包发布
发布主题
返回列表
Qt之打包发布
0
回复
5855
查看
[复制链接]
Mavericks
当前离线
积分
116
Mavericks
累计签到:33 天
连续签到:1 天
来源: 转载
2016-6-18 22:43:41
显示全部楼层
|
阅读模式
马上注册,查看详细内容!注册请先查看:
注册须知
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
原文出处:
http://blog.sina.com.cn/s/blog_a6fb6cc90101fer8.html
一、发布方式
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)
以上是我所用到的依赖库,基本可以解决问题.
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了