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. pdfium去掉v8支持

    GYP_DEFINES='pdf_enable_v8=0 pdf_enable_xfa=0' build/gyp_pdfium 未测试  ???????????

  2. 吴丽丽-201871010123《面向对象程序设计(Java)》第七周学习总结

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

  3. 201871010134-周英杰《面向对象程序设计(java)》第十五周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...

  4. 201871010134-周英杰《面向对象程序设计(java)》第十周学习总结

    import java.io.FileInputStream; import java.io.FileNotFoundException; public class ExceptionText1 { ...

  5. ipc.Client: Retrying connect to server: .../10.0.0.27:10020. Already tried 6 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

    运行 时候爆出这个错 Exception in thread "main" java.io.IOException: java.net.ConnectException: Call ...

  6. selenium 简介 及浏览器配置

    简介: Selenium是一款基于web应用程序的开源测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.Selenium是一个自动化的web应用功能测试工具. Seleniu ...

  7. 使用教育邮箱免费申请JetBrains套装(IntelliJ, PhpStorm, WebStorm...)

    想下个PhpStorm来写php,发现可以使用教育账号白嫖. 申请步骤 打开 申请页面 ,点击 “APPLY NOW” 开始申请. 填写姓名,以及学校提供给你的邮箱(edu后缀邮箱,或.end.cn) ...

  8. Task异常捕获的几种方式

    在调用Task的Wait()方法或Result属性处会抛出Task中的异常. 但是如果没有返回结果,或者不想调用Wait()方法,该怎么获取异常呢? 可以使用ContinueWith()方法 var ...

  9. Vue组件的操作-自定义组件,动态组件,递归组件

    作者 | Jeskson 来源 | 达达前端小酒馆 v-model双向绑定 创建双向数据绑定,v-model指令用来在input,select,checkbox,radio等表单控件.v-model指 ...

  10. 各IDE快捷键

    [Visual Studio Code] VScode快捷键设置:File -> Perferences -> Keyboard Shortcuts 块注释/**/快捷键  Shift + ...