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. 201871010134-周英杰《面向对象程序设计(java)》第八周学习总结

    201871010134-周英杰<面向对象程序设计(java)>八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个 ...

  2. uiautomator 调试例子

    package com.bing.cn; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Dem ...

  3. python字符串连接的三种方法

    1.+号连接 a="hello," b="world!" c=a+b print(c) 有一点需要注意的是,字符串类型是不可变的,所以每一次应用加号连接字符串都 ...

  4. 论文阅读笔记六十二:RePr: Improved Training of Convolutional Filters(CVPR2019)

    论文原址:https://arxiv.org/abs/1811.07275 摘要 一个训练好的网络模型由于其模型捕捉的特征中存在大量的重叠,可以在不过多的降低其性能的条件下进行压缩剪枝.一些skip/ ...

  5. 【转】机器学习实战之K-Means算法

    一,引言 先说个K-means算法很高大上的用处,来开始新的算法学习.我们都知道每一届的美国总统大选,那叫一个竞争激烈.可以说,谁拿到了各个州尽可能多的选票,谁选举获胜的几率就会非常大.有人会说,这跟 ...

  6. 洛谷 P3742 umi的函数

    传送门 思路 \(loceaner\)已经蔡虚鲲到连红题都不会做了 因为有\(special\ judge\)所以我们就可以瞎搞了! 由题目可知,只要有一个\(y[i] > x[i]\)则一定没 ...

  7. [LeetCode] 617. Merge Two Binary Trees 合并二叉树

    Given two binary trees and imagine that when you put one of them to cover the other, some nodes of t ...

  8. java ++和--

    public class Sample { public static void main(String[] args) { , num2 = ; , num4 = ; System.out.prin ...

  9. skip connections

    deep learning初学者,最近在看一些GAN方面的论文,在生成器中通常会用到skip conections,于是就上网查了一些skip connection的博客,虽然东西都是人家的,但是出于 ...

  10. bash: telnet: command not found (Linux安装telnet)

    问题描述: centos 系统没有 telnet 命令 bash: telnet: command not found 1.安装telnet服务 (3个) yum install xinetd tel ...