【问题标题】:How to make Qt Creator use Rosetta and x86 compiler on Mac M1?如何让 Qt Creator 在 Mac M1 上使用 Rosetta 和 x86 编译器?
【发布时间】:2022-08-23 01:19:16
【问题描述】:
我在用Qt 5.15.2在我的麦克迷你和M1芯片。这很好用(由于 Rosetta)。下面是在这台计算机上找到的编译器 Qt Creator 的列表,其中包括C++、x86 64 位我使用的。没问题。
我想在(更新的)上使用相同的设置MacBook Pro(也与M1芯片)。下面是 Qt Creator 在这台计算机上找到的编译器列表,x86 现在不见了!
我不知道我在新的 M1 计算机上是否有 x86 编译器。我已经为 XCode 13.2 安装了 Xcode 和命令行工具。
-
我可以在某处告诉 Qt Creator 部署目标是 x86 吗?
-
/usr/bin/clang++ 是否只为 ARM/M1 芯片编译,或者它也可以生成并链接到 x86 代码?
-
如果没有,我怎样才能知道我的新 M1 计算机上是否有 x86 编译器?
-
如果缺少编译器,如何安装?
非常感激任何的帮助!
标签:
c++
qt
qt-creator
apple-m1
rosetta
【解决方案1】:
一些有用的提示,我只是在 2021 M1 Mac 上使用 Qt 5.15.2 设置了一个项目。
请注意,对于 Qt >= 6,这可能会有所不同。
- 我可以告诉 Qt Creator 部署目标是 x86 吗?
是的,您可以使用套件构建设置中的特定参数来执行此操作。
- 将
QMAKE_APPLE_DEVICE_ARCHS="x86_64" 附加参数添加到qmake。
- 另外,添加一个额外的 CMake 选项:
-DCMAKE_OSX_ARCHITECTURES:STRING="x86_64"
ℹ️ 在项目视图中单击Manage Kits.. 以打开首选项编辑器,您可以在其中更新您的 CMake 配置。
- /usr/bin/clang++ 是否只为 ARM/M1 芯片编译,或者它也可以生成并链接到 x86 代码?
安装了rosetta(/usr/sbin/softwareupdate –install-rosetta –agree-to-license)和上面的配置,是的,你可以编译和链接x86二进制文件。