mac m1设备上安装Qt并使用qt编程遇到的问题以及解决方式

4 篇文章 0 订阅

简介:

首先在M1平台上的程序可以看到有两种架构,分别是intel的(x86-64)和苹果的m1(arm64架构),根据苹果的介绍,当在m1上面运行intel程序的时候使用的是转译的方式运行的,但是这种转译不是运行时转译,而是在编译期间已经将在安装qt的时候,有这么几种方式来安装

1 qt-installer

下载地址:https://www.qt.io/download-thank-you?hsLang=en

下载之后安装

这里要注意,安装完成之后在我们打开QtCreator的环境配置可以看到如下信息:

这个是5.15版本的 ,这个是x86_64架构的

这个是6.3版本的,而这个就是arm架构的了!

所以这里我们会遇到一个问题,就是当我们编程的时候,如果指定了实用qt5.15版本的,他会提示我们我们编译的是arm架构的程序,但是我们链接的库却是x86_64版本的,

遇到这种情况,就是说我们的程序编出来的是arm架构的,但是链接到qt的时候,这个qt版本的库是x86_64版本的,架构不一样链接的时候肯定会有问题,所以我们有两种方式解决,

通过修改编译参数,将程序改成x86_64架构的。
换一个qt库,使用arm架构的库。
针对第一种方式,如果使用Cmake来管理项目,可以添加如下变量来手动指定编译的架构

set(CMAKE_OSX_ARCHITECTURES “x86_64”)

针对第二种情况,可以使用6.3版本的qt,或者看下面的一种qt安装方式。

2 使用homebrew方式安装。

首先下载并且安装homebrew,

参考如下文章

Installing Homebrew on a Mac (treehouse.github.io)

https://phoenixnap.com/kb/install-homebrew-on-mac

安装完成之后
使用命令查看:

$brew info qt
qt: stable 6.3.1 (bottled), HEAD
Cross-platform application and UI framework
https://www.qt.io/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/qt.rb
License: GFDL-1.3-only and GPL-2.0-only and GPL-3.0-only and LGPL-2.1-only and LGPL-3.0-only
==> Dependencies
Build: cmake ✘, ninja ✘, node ✘, pkg-config ✘, python@3.10 ✘, six ✘
Required: assimp ✘, brotli ✘, dbus ✘, double-conversion ✘, freetype ✘, glib ✘, hunspell ✘, icu4c ✘, jasper ✘, jpeg-turbo ✘, libb2 ✘, libmng ✘, libpng ✘, libtiff ✘, md4c ✘, pcre2 ✘, sqlite ✘, webp ✘, zstd ✔
==> Requirements
Build: Xcode ✔
==> Options
–HEAD
Install HEAD version
==> Analytics
install: 68,415 (30 days), 158,856 (90 days), 677,640 (365 days)
install-on-request: 36,196 (30 days), 85,202 (90 days), 321,682 (365 days)
build-error: 40 (30 days)

​以及

brew info qt@5
qt@5: stable 5.15.5 (bottled) [keg-only]
Cross-platform application and UI framework
https://www.qt.io/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/qt@5.rb
License: GFDL-1.3-only and GPL-2.0-only and GPL-3.0-only and LGPL-2.1-only and LGPL-3.0-only
==> Dependencies
Build: node ✘, pkg-config ✘, python@3.10 ✘
Required: freetype ✘, glib ✘, jpeg-turbo ✘, libpng ✘, pcre2 ✘, webp ✘
==> Requirements
Build: Xcode ✔
Required: macOS >= 10.12 ✔
==> Caveats
We agreed to the Qt open source license for you.
If this is unacceptable you should uninstall.
This version of Qt on Apple Silicon does not include QtWebEngine.
qt@5 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.
==> Analytics
install: 84,657 (30 days), 171,941 (90 days), 587,390 (365 days)
install-on-request: 12,852 (30 days), 24,249 (90 days), 79,325 (365 days)
build-error: 30 (30 days)

可以看到使用brew方式安装的就是m1平台的了,但是这里需要配置QtCreator,所以这里可能比较麻烦一点。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值