QT是一个跨平台的框架,支持PC端(Windows、Linux和Mac OS)以及移动端(Android和IOS),之前的开发大都在Windows或者Ubuntu上,考虑到项目多平台支持性,本文对Mac OS以及IOS平台作一个入门体验,Mac机太贵,公司不给买实体机,IOS自己也没有,虚拟机走起!

在VMWare15中安装Mac OS10.13,具体安装请自行参考网友分享内容,开机后提示“电脑因出现问题而重新启动。请按一下按键,或等几秒钟以继续启动”:

这个需要安装Unlocker,首先关闭虚拟机,下载Unlocker+v3.0.0后解压,管理员身份运行win-install.cmd后就可以成功进入系统了~

请下载Qt的mac版本老安装,安装过程请自行百度,我这里安装的是Qt5.12.0版本,安装完成后运行Qt Creator.app启动Qt Creator,发现构建组件中只有clang一项,可以通过clang编译器编译构建Mac平台的Qt程序。

但是IOS平台的构建器没有,这需要再次安装。

这需要借助Mac平台的XCode来安装,首先关闭Qt Creator, 在launchpad中找到终端并打开,接着敲入:

sudo xcode-select -switch /Users/Michael/Downloads/Xcode.app/Contents/Developer

其中Michael是用户名,/Users/Michael/Downloads/Xcode.app是Xcode的地址,直接拖进来即可,回车后输入管理员密码执行命令成功。最后再次打开Qt Creator可以看到多了IOS以及IOS Simulator构建组件。

我的程序在IOS Simulator下执行构建,提示错误:

 error: static_assert failed "Required feature printdialog for file /Users/Michael/dev/qt-package/5.12.0/ios/include/QtPrintSupport/qprintdialog.h not available."
QT_REQUIRE_CONFIG(printdialog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解决办法:将*.pro中的printsupport注释掉,将程序中涉及QPrinter、QPrintDialog的代码全部注释掉,这个是PC平台的,移动端不需要的。

构建成功后,运行会启动IOS Simulator,但是我的程序会运行黑屏,仔细看以下代码,是代码中又Opengl检测的代码,将其注释掉即可:

最后,终于在IOS上运行起来了~

QT在Mac OS上编译运行初体验的更多相关文章

  1. 在 Mac OS 上编译 OBS

    本文转自:在 Mac OS 上编译 OBS | www.samirchen.com 安装环境 第一步,做准备工作,安装编译 OBS 所需要的环境,流程如下: // 给当前用户添加 /usr/local ...

  2. 在 Mac OS 上编译 FFmpeg

    本文转自:在 Mac OS 上编译 FFmpeg | www.samirchen.com 安装 Xcode 和 Command Line Tools 从 App Store 上安装 Xcode,并确保 ...

  3. 在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  4. 在 Mac OS 上使用 TypeScript 编写 ASP.NET Core 1.0 应用

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  5. 记录Mac OS下编译Thrift库

    方法一:brew管理工具安装Homebrew是Mac开发包管理工具,类似于Linux的apt-get之类的,实它相当于开发软件界的 Appstore.借助该管理工具,可以自动化地安装软件包,它会自动安 ...

  6. 如何将NTFS格式的移动硬盘挂接到Mac OS上进行读写(Read/Write)操作

    现在硬盘便宜,很多同学都有移动硬盘,如果你同时使用Windows与Mac OS的话,移动硬盘最好不要使用NTFS文件系统,否则在Mac OS上,你只能读你的移动硬盘,不能写. 但是实际上的情况是,移动 ...

  7. Mac OS 上设置 JAVA_HOME

    Mac OS 上设置 JAVA_HOME 原文链接:http://han.guokai.blog.163.com/blog/static/136718271201301183938165/ 由于需要, ...

  8. 转-在Mac OS上搭建Python的开发环境

    在Mac OS上搭建Python的开发环境   本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...

  9. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

随机推荐

  1. 201871010128-杨丽霞《面向对象程序设计(Java)》第十二周学习总结

    201871010128-杨丽霞<面向对象程序设计(Java)>第十一周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  2. XSS小游戏

    第一关 直接在URL输入 ?name=<script>alert('xss')</script> 第二关 找源码,输入test,value值变为test,我们可以在输入框尝试x ...

  3. 免费音乐播放器-airplay(网上收集,仅供学习与研究,支持正版)

    AirPlay媒体播放器无需安装,并不会修改注册表,生成桌面快捷方式,加入启动菜单及快速启动. 因此,您只需要下载本软件,保存在任何地方即可使用.使用方便,界面酷炫. 自动下载和显示歌词.专辑封面.汇 ...

  4. NOIP 2012 借教室

    洛谷 P1083 借教室 https://www.luogu.org/problem/P1083 JDOJ 1783: [NOIP2012]借教室 D2 T2 https://neooj.com/ol ...

  5. 树莓派“Wlan0: Not associated”报错解决方案

    当执行 ifconfig wlan0 时,是有wlan0的网卡信息输出的. 当执行 ifconfig wlan0 up 是没问题的(即没有任何输出). 执行 iwlist wlan0 scan | g ...

  6. Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务

    实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  7. [RN] 使用 Genymotion 导致 ” Genymotion 已连接,但无法访问互联网 “ 的错误

    使用 Genymotion 导致 Genymotion 已连接,但无法访问互联网 的错误 先把要点 放前面: 网络二 一定要设置 桥接模式 网上很多文章都是设置为 NAT,笔者均失败! 笔者使用的An ...

  8. python之lambda、filter、map、reduce的用法说明(基于python2)

    python中有一些非常有趣的函数,面试的时候可能会遇到.今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,m ...

  9. HTTP之URL的组成部分

    HTTP——URL的组成部分 #################文章全部摘自<HTTP权威指南>########################### 主要是为记录自己学习HTTP的过程! ...

  10. Web应急:管理员账号被篡改

    你是某一个网站的管理员,有一天,你的管理员账号admin却登录不了,进入数据库查看,原来管理员账号用户名不存在了,却多了另外一个管理员用户名.不对,不是新增了管理员,而是你的管理员用户名被篡改了. 现 ...