当你用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

Qt for Mac:发布程序(widgets和quick2)的更多相关文章

  1. QT Creater + vs2010 发布程序

    这几天帮同学写了个简单的gui应用,用的qt5.0.2_msvc2010.写的程序需要在一台没有装过vs和qt的机子上运行. 在release下编译运行通过后,把相应的依赖dll加入到exe相同的文件 ...

  2. QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法

    QT编译发布程序后报错如缺少dll.“应用程序无法正常启动(0xc000007b)”的可能解决方法 最近项目要用qt,因为初学没有经验,遇到些小问题常常没什么头绪,也查不到解决方法,刚刚还因为低端错误 ...

  3. Qt之新手打包发布程序

    工具:电脑必备.QT下的windeployqt Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无 ...

  4. 发布Qt Quick桌面应用程序的方法(使得planets在XP上运行)

    发布Qt Quick桌面应用程序的方法 Qt是一款优秀的跨平台开发框架,它可以在桌面.移动平台以及嵌入式平台上运行.目前Qt 5介绍程序发布的文章帖子比较少.大家又非常想要知道如何发布Qt应用程序,于 ...

  5. QT如何发布程序

    QT如何发布程序转载 http://blog.csdn.net/iw1210/article/details/51253458

  6. Qt 打包发布程序

    利用Qt Creator写好程序,选择对应的编译器编译程序. 编译完成会在项目同级目录生成对应的目录来保存编译后的输出. 打包程序就要选择Qt自带的CMD工具,分别有下面几种. 比如,打包VS2017 ...

  7. Qt发布程序

    一.作用 将Qt软件打包发布成绿色exe,在任意非Qt环境下运行 二.找到我们软件所依赖动态库 使用Qt的windeployqt.exe(在Qt安装目录的bin下面找)--! 1.新建文件夹,在里面放 ...

  8. 马上着手开发Mac应用程序

    你是否想要开发 Mac 应用程序却又不知道从哪里入手?本路线图提供了 Mac 应用程序开发的绝佳起点,即使你已经是一个 iOS 开发专家,本路线图对你依然适用.Apple让开发应用程序和提交应用程序到 ...

  9. 将QT开发的界面程序封装成DLL,在VC中成功调用

    最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...

随机推荐

  1. CodeIgniter框架url去index.php(转)

    针对apache,支持mode_rewrite可以通过在目录先建立.htaccess去掉url中index.php .htaccess内容如下: RewriteEngine on RewriteCon ...

  2. java EE 学习

    http://blog.csdn.net/liushuijinger/article/category/1342030/1

  3. VMware安装CentOS后网络设置

    在使用CentOS虚拟机后,出现了无法上网的情况,使用主机ping虚机地址可以ping通,而虚机ping不通主机,同时虚机也无法ping通其他的网址或ip,显示内容为Network is unreac ...

  4. 关于jsp web项目中的javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误

    错误: javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver org.apache.j ...

  5. Socket.IO 概述

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3826251.html ...

  6. WPF MediaElement.Position属性

    Position 属性定义:获取或设置媒体播放时间的当前进度位置. // // 摘要: // 通过媒体播放时获取或设置进度的当前位置. // // 返回结果: // 媒体时自以来的.默认值为 00:0 ...

  7. angularjs 遇到Error: [$injector:unpr] Unknown provider: tdpicnews-serviceProvider <- tdpicnews-service <- tdpic-controller 错误

    define(['modules/tdpic-module', 'services/news-service', 'utilities/cryto'], function (app) { 'use s ...

  8. Vijos1865 NOI2014 魔法森林 LCT维护生成树

    基本思路: 首先按照weightA升序排序,然后依次在图中加边,并维护起点到终点路径上weightB的最大值 如果加边过程中生成了环,则删除环中weightB最大的边 由于是无向图,点之间没有拓扑序, ...

  9. SGU 145.Strange People(无环K短路)

    时间:0.25s空间:4m 题意: 其实就是求无环第K短路. 输入: 给出n,m,k,分别代表,n个点,m条边,第k长路. 接下来m行,三个整数x,y,z,分别代表x,y之间有条费用为x的双向路.保证 ...

  10. phpcms v9后台美化需要修改的部分整理

    PHPcms后台登陆后的页面修改 Phpcms->modules->admin->templates->main.tpl.php 1,安全提示部分 <h6>< ...