QT在Mac OS上编译运行初体验
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上编译运行初体验的更多相关文章
- 在 Mac OS 上编译 OBS
本文转自:在 Mac OS 上编译 OBS | www.samirchen.com 安装环境 第一步,做准备工作,安装编译 OBS 所需要的环境,流程如下: // 给当前用户添加 /usr/local ...
- 在 Mac OS 上编译 FFmpeg
本文转自:在 Mac OS 上编译 FFmpeg | www.samirchen.com 安装 Xcode 和 Command Line Tools 从 App Store 上安装 Xcode,并确保 ...
- 在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 在 Mac OS 上使用 TypeScript 编写 ASP.NET Core 1.0 应用
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 记录Mac OS下编译Thrift库
方法一:brew管理工具安装Homebrew是Mac开发包管理工具,类似于Linux的apt-get之类的,实它相当于开发软件界的 Appstore.借助该管理工具,可以自动化地安装软件包,它会自动安 ...
- 如何将NTFS格式的移动硬盘挂接到Mac OS上进行读写(Read/Write)操作
现在硬盘便宜,很多同学都有移动硬盘,如果你同时使用Windows与Mac OS的话,移动硬盘最好不要使用NTFS文件系统,否则在Mac OS上,你只能读你的移动硬盘,不能写. 但是实际上的情况是,移动 ...
- Mac OS 上设置 JAVA_HOME
Mac OS 上设置 JAVA_HOME 原文链接:http://han.guokai.blog.163.com/blog/static/136718271201301183938165/ 由于需要, ...
- 转-在Mac OS上搭建Python的开发环境
在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...
- Windows OS上安装运行Apache Kafka教程
Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...
随机推荐
- JS高阶---闭包缺点(内存溢出与泄露)
[大纲] [主体] (1)闭包优缺点 .延长局部变量的生命周期2.外部访问函数内部变量 闭包的优点同时也是它的缺点,就是 (2)解决方案 .能不用闭包就不用(很难做到,因为应用较多) .及时释放--- ...
- C++和C的相互调用
C++和C相互调用实际工程中C++和C代码相互调用是不可避免的C++编译器能够兼容C语言的编译方式C++编译器会优先使用C++编译的方式extern关键字能强制让C++编译器进行C方式的编译 exte ...
- MySQL数据库练习
1.数据准备 以下为db文件,通过Navicat Premium导入数据库 /* 数据导入: Navicat Premium Data Transfer Source Server : localho ...
- javascript专题系列--尾调用和尾递归
最近在看<冴羽的博客>,讲真,确实受益匪浅,已经看了javascript 深入系列和专题系列的大部分文章,可是现在才想起来做笔记.所以虽然很多以前面试被问得一脸懵逼的问题都被“一语惊醒梦中 ...
- Tableau 练习题
1.练习一 1. 提出问题:对某个学校或者一个城市的教育水平进行评估,或者多个学校的教育水平进行比较 指标:学生考试成绩 根据考试成绩高低判断教育水平:影响因素:学生餐饮,从多个维度分析,各城市在不同 ...
- idea中使用python环境
idea中使用python环境,需要下载相关的python sdk 可以添加选择自己的python环境
- js实现一键复制
方法一: 使用插件 引入clipboard.js 使用如下 <script> copyFn = function() { var clipboard = new Clipboard('.c ...
- 浅析容斥和DP综合运用
浅析容斥和DP综合运用 前言 众所周知在数数题中有一种很重要的计数方法--容斥.但是容斥有一个很大的缺陷:枚举子集的复杂度过高.所以对于数据规模较大的情况会很乏力,那么我们就只能引入容斥DP. 复习一 ...
- 远程文件传输命令•RHEL8/CentOS8文件上传下载-用例
scp协议 scp [options] [本地用户名@IP地址:]file1 [远程用户名 @IP 地址 :] file2 options: -v 用来显示进度,可以用来查看连接,认证,或是配置错误. ...
- jquery取消绑定的方法
jquery取消绑定的方法 一般用变量控制 不要用unbind() 相应比较慢 <pre> $('.choseitem').on('click', function () { //如果设置 ...