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
Qt for Mac:发布程序(widgets和quick2)的更多相关文章
- QT Creater + vs2010 发布程序
这几天帮同学写了个简单的gui应用,用的qt5.0.2_msvc2010.写的程序需要在一台没有装过vs和qt的机子上运行. 在release下编译运行通过后,把相应的依赖dll加入到exe相同的文件 ...
- QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法
QT编译发布程序后报错如缺少dll.“应用程序无法正常启动(0xc000007b)”的可能解决方法 最近项目要用qt,因为初学没有经验,遇到些小问题常常没什么头绪,也查不到解决方法,刚刚还因为低端错误 ...
- Qt之新手打包发布程序
工具:电脑必备.QT下的windeployqt Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无 ...
- 发布Qt Quick桌面应用程序的方法(使得planets在XP上运行)
发布Qt Quick桌面应用程序的方法 Qt是一款优秀的跨平台开发框架,它可以在桌面.移动平台以及嵌入式平台上运行.目前Qt 5介绍程序发布的文章帖子比较少.大家又非常想要知道如何发布Qt应用程序,于 ...
- QT如何发布程序
QT如何发布程序转载 http://blog.csdn.net/iw1210/article/details/51253458
- Qt 打包发布程序
利用Qt Creator写好程序,选择对应的编译器编译程序. 编译完成会在项目同级目录生成对应的目录来保存编译后的输出. 打包程序就要选择Qt自带的CMD工具,分别有下面几种. 比如,打包VS2017 ...
- Qt发布程序
一.作用 将Qt软件打包发布成绿色exe,在任意非Qt环境下运行 二.找到我们软件所依赖动态库 使用Qt的windeployqt.exe(在Qt安装目录的bin下面找)--! 1.新建文件夹,在里面放 ...
- 马上着手开发Mac应用程序
你是否想要开发 Mac 应用程序却又不知道从哪里入手?本路线图提供了 Mac 应用程序开发的绝佳起点,即使你已经是一个 iOS 开发专家,本路线图对你依然适用.Apple让开发应用程序和提交应用程序到 ...
- 将QT开发的界面程序封装成DLL,在VC中成功调用
最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...
随机推荐
- CodeIgniter框架url去index.php(转)
针对apache,支持mode_rewrite可以通过在目录先建立.htaccess去掉url中index.php .htaccess内容如下: RewriteEngine on RewriteCon ...
- java EE 学习
http://blog.csdn.net/liushuijinger/article/category/1342030/1
- VMware安装CentOS后网络设置
在使用CentOS虚拟机后,出现了无法上网的情况,使用主机ping虚机地址可以ping通,而虚机ping不通主机,同时虚机也无法ping通其他的网址或ip,显示内容为Network is unreac ...
- 关于jsp web项目中的javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误
错误: javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver org.apache.j ...
- Socket.IO 概述
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3826251.html ...
- WPF MediaElement.Position属性
Position 属性定义:获取或设置媒体播放时间的当前进度位置. // // 摘要: // 通过媒体播放时获取或设置进度的当前位置. // // 返回结果: // 媒体时自以来的.默认值为 00:0 ...
- 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 ...
- Vijos1865 NOI2014 魔法森林 LCT维护生成树
基本思路: 首先按照weightA升序排序,然后依次在图中加边,并维护起点到终点路径上weightB的最大值 如果加边过程中生成了环,则删除环中weightB最大的边 由于是无向图,点之间没有拓扑序, ...
- SGU 145.Strange People(无环K短路)
时间:0.25s空间:4m 题意: 其实就是求无环第K短路. 输入: 给出n,m,k,分别代表,n个点,m条边,第k长路. 接下来m行,三个整数x,y,z,分别代表x,y之间有条费用为x的双向路.保证 ...
- phpcms v9后台美化需要修改的部分整理
PHPcms后台登陆后的页面修改 Phpcms->modules->admin->templates->main.tpl.php 1,安全提示部分 <h6>< ...