Qt for Mac:发布程序(widgets和quick2)
2018-01-08 11:58
246 查看
当你用Qt开发好程序后,是不是会很期待将你的成果分享给你的小伙伴
可是Qt的库并不是OS X标配的,所以我们要自己去复制库到app包里,才可以让app在其他未安装Qt的电脑上运行。
比较幸运的是,Qt为我们提供了macdeployqt工具,借助于此,在OS X上发布Qt写的程序几乎是所有平台中最简单的。
注:我电脑配置了Qt的bin环境,所以可以直接使用macdeployqt
如果没配置,可以用绝对路径去找。
macdeployqt在我电脑上的绝对路径是:/Applications/Qt5.4.1/5.4/clang_64/bin/macdeployqt
1.发布widgets程序
1.1:这个比较方便。选择Release模式,编译
![](https://img-blog.csdn.net/20150312161101405?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3NqMTg4MDgwNTA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1.2:运行macdeployqt
对于我的工程,命令是:
macdeployqt /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release/untitled.app -dmg
然后回车,就打包好了。
之后我们会发现,app目录下多了一个dmg文件
![](https://img-blog.csdn.net/20150312161414161?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3NqMTg4MDgwNTA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
此dmg文件,里面的app就是我们发布的app了。把dmg拷贝给别人,别人就可以直接使用了。
注:如果直接拷贝app文件给别人,别人是无法直接运行的,会有权限问题(要用chmod给可执行文件加上x权限才可以运行)。
而压缩过(zip或者dmg)后,拷贝给别人,别人是可以直接运行,没有权限问题。
注:-dmg的意思就是在拷贝好库后,生成一个dmg文件,可以不加这个参数。
2.发布quick2程序
这个相对麻烦一点
2.1:然后,Release模式,编译
2.2:打开终端,先切换编译的目标目录下
对于我的工程,命令是:
cd /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release
2.3:运行macdeployqt
对于我的工程,命令是:
macdeployqt untitled.app -qmldir=../untitled -dmg
然后回车,就打包好了。
注:和widgets发布程序不同,untitled.app 这个名字,要直接输入,不要写 ./untitled.app 或者是其他的 绝对/相对 路径,不然打包出来的文件无法使用!!会报错!!!
注2:-qmldir=../untitled 的意思就是说在 ../untitled 目录下有qml文件,让macdeployqt去分析它们,把要用的库找过来。
可是Qt的库并不是OS X标配的,所以我们要自己去复制库到app包里,才可以让app在其他未安装Qt的电脑上运行。
比较幸运的是,Qt为我们提供了macdeployqt工具,借助于此,在OS X上发布Qt写的程序几乎是所有平台中最简单的。
注:我电脑配置了Qt的bin环境,所以可以直接使用macdeployqt
如果没配置,可以用绝对路径去找。
macdeployqt在我电脑上的绝对路径是:/Applications/Qt5.4.1/5.4/clang_64/bin/macdeployqt
1.发布widgets程序
1.1:这个比较方便。选择Release模式,编译
1.2:运行macdeployqt
对于我的工程,命令是:
macdeployqt /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release/untitled.app -dmg
然后回车,就打包好了。
之后我们会发现,app目录下多了一个dmg文件
此dmg文件,里面的app就是我们发布的app了。把dmg拷贝给别人,别人就可以直接使用了。
注:如果直接拷贝app文件给别人,别人是无法直接运行的,会有权限问题(要用chmod给可执行文件加上x权限才可以运行)。
而压缩过(zip或者dmg)后,拷贝给别人,别人是可以直接运行,没有权限问题。
注:-dmg的意思就是在拷贝好库后,生成一个dmg文件,可以不加这个参数。
2.发布quick2程序
这个相对麻烦一点
2.1:然后,Release模式,编译
2.2:打开终端,先切换编译的目标目录下
对于我的工程,命令是:
cd /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release
2.3:运行macdeployqt
对于我的工程,命令是:
macdeployqt untitled.app -qmldir=../untitled -dmg
然后回车,就打包好了。
注:和widgets发布程序不同,untitled.app 这个名字,要直接输入,不要写 ./untitled.app 或者是其他的 绝对/相对 路径,不然打包出来的文件无法使用!!会报错!!!
注2:-qmldir=../untitled 的意思就是说在 ../untitled 目录下有qml文件,让macdeployqt去分析它们,把要用的库找过来。
相关文章推荐
- Qt for Mac:发布程序(widgets和quick2)
- Qt for Mac:发布程序(widgets和quick2)
- Qt for Mac:发布程序(widgets和quick2)
- Qt在 Mac系统发布程序(widgets和quick2)生成dmg安装文件。
- 发布Qt带Widgets程序过程
- QT做的tcpsocket测试工具源码及单独发布的可执行程序
- Qt5 中发布程序遇到could not find or load the Qt platform plugin "windows"
- Qt程序打包发布方法(使用官方提供的windeployqt工具)
- Qt5 程序发布windowsXP一些问题
- Windows 下QT程序发布
- Qt5+vs2015程序发布
- [Qt教程] 第51篇 从Qt 4到Qt 5(一)Qt 5.2安装、程序迁移和发布
- Linux下如何发布Qt程序
- Qt程序打包发布方法(使用官方提供的windeployqt工具)
- Qt 开发程序后的发布问题
- Linux下如何发布Qt程序[转]
- Qt 程序在 windows 下的发布
- Qt程序打包发布方法(使用官方提供的windeployqt工具)
- QT 5.2.1如何编译发布IOS程序
- 基于vs2005以上版本Qt程序发布的注意事项