我在带有 M1 芯片的 Mac mini 上使用 Qt 5.15.2。这工作正常(由于 Rosetta)。下面是在这台电脑上找到的编译器Qt Creator的列表,其中就有我用的C++, x86 64bit。没问题。
我想在(较新的)Mac Book Pro(也带有 M1 芯片)上使用相同的设置。下面是 Qt Creator 在这台计算机上找到的编译器列表,x86 现在不见了!
我不知道新的 M1 计算机上是否有 x86 编译器。我已经为 XCode 13.2 安装了 Xcode 和命令行工具。
我可以在某个地方告诉 Qt Creator 部署目标是 x86 吗?
/usr/bin/clang++ 只能为 ARM/M1 芯片编译,还是它也可以生成并链接到 x86 代码?
如果没有,我如何知道我的新 M1 计算机上是否有 x86 编译器?
如果缺少编译器,如何安装?
如有任何帮助,我们将不胜感激!
最佳答案
一些有用的提示,我刚刚在 2021 M1 Mac 上使用 Qt 5.15.2 设置了一个项目。
请注意,对于 Qt >= 6,这可能会有所不同。
- Can I somewhere tell Qt Creator that the deployment target is x86?
是的,您可以在工具包的build设置中使用特定参数来执行此操作。
- 将
QMAKE_APPLE_DEVICE_ARCHS="x86_64"
附加参数添加到 qmake。 - 此外,添加一个额外的 CMake 选项:
-DCMAKE_OSX_ARCHITECTURES:STRING="x86_64"
ℹ️ 在项目 View 中单击Manage Kits
.. 以打开首选项编辑器,您可以在其中更新您的 CMake 配置。
- Does /usr/bin/clang++ only compile for the ARM/M1-chip, or can it also produce and link to x86 code?
安装了 rosetta (/usr/sbin/softwareupdate –install-rosetta –agree-to-license
) 和上面的配置,是的,您可以编译和链接 x86 二进制文件。
关于c++ - 如何让 Qt Creator 在 Mac M1 上使用 Rosetta 和 x86 编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70709144/