Qt for Mac:发布程序(widgets和quick2)

时间:2022-05-01 16:16:46

当你用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模式,编译

Qt for Mac:发布程序(widgets和quick2)

1.2:运行macdeployqt

对于我的工程,命令是:

macdeployqt /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release/untitled.app -dmg

然后回车,就打包好了。

之后我们会发现,app目录下多了一个dmg文件

Qt for Mac:发布程序(widgets和quick2)

此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去分析它们,把要用的库找过来。

参考:http://blog.csdn.net/wsj18808050/article/details/44223065