如何让Qt Creator在Mac M1上使用Rosetta和x86编译器?

4

我在我的 Mac mini 上使用了 Qt 5.15.2,配备了 M1 芯片,这很好用(由于 Rosetta)。下面是 Qt Creator 在这台计算机上找到的编译器列表,其中包括我所使用的C++, x86 64位。没有问题。

compilers amiable on the first M1 computer

我想在一台(有点新的)Mac Book Pro(也带有M1芯片)上使用相同的设置。下面是 Qt Creator 在这台计算机上找到的编译器列表,其中x86现在缺失了!

compilers amiable on the new M1 computer

我不知道新的 M1 计算机上是否有 x86 编译器。我已安装了 Xcode 和 XCode 13.2 的命令行工具。

  1. 我可以在某个地方告诉 Qt Creator 部署目标是 x86 吗?

  2. /usr/bin/clang++ 只编译 ARM/M1 芯片,还是也能生成和链接 x86 代码?

  3. 如果不能,我该如何找出我的新 M1 计算机上是否有 x86 编译器?

  4. 如果缺少编译器,应该如何安装?

非常感谢任何帮助!


1
可能有帮助:https://www.qt.io/blog/qt-on-apple-silicon - kiner_shah
1个回答

3
以下是翻译的结果:

这里有一些小贴士,可以帮助您。我刚刚在2021 M1 Mac上使用Qt 5.15.2设置了一个项目。

注意:对于Qt >= 6版本可能会有所不同。

  1. 我是否可以在某处告诉Qt Creator部署目标是x86?

是的,您可以在套件的构建设置中使用特定的参数来执行此操作。

  • QMAKE_APPLE_DEVICE_ARCHS="x86_64" 附加参数添加到qmake中。
  • 另外,添加一个额外的CMake选项:-DCMAKE_OSX_ARCHITECTURES:STRING="x86_64"

ℹ️ 点击“项目”视图中的“管理套件”打开首选项编辑器,在那里您可以更新CMake配置。


  1. /usr/bin/clang++ 只能编译ARM / M1芯片吗?还是可以生成和链接x86代码?

在安装了Rosetta (/usr/sbin/softwareupdate –install-rosetta –agree-to-license) 并且应用了以上配置的情况下,是的,您可以编译和链接x86二进制文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接