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

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

        

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

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

原文地址:https://www.cnblogs.com/findumars/p/4763731.html