没有编译器可以为这个Qt版本生成代码-苹果芯片



我正在尝试将linux项目移植到macOS。然而,我甚至无法在M1 Macbook Air 2020(苹果芯片)上设置构建环境。我安装了qt-creator, cmake, qt 5.15和6.1使用自制。我在qt-creator设置中添加了qt版本和cmake。当我想把所有的东西放在工具包标签,我得到错误的标题。

检查编译器选项卡,我意识到自动检测的clang编译器仅是x86。因此,我克隆了x86 clang++条目,并将ABI从x64更改为arm。这应该可以工作,因为clang++是一个通用二进制,因为file /usr/bin/clang++报告

/usr/bin/clang++: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/usr/bin/clang++ (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/clang++ (for architecture arm64e): Mach-O 64-bit executable arm64e

我要做什么才能使Qt Creator能够构建通用二进制文件?或者至少有任何构建?

您需要安装Qt 6.2版本,该版本支持macOS on Apple Silicon。移植任务在这个bug报告下被跟踪。目前,Qt5不支持构建M1芯片。

除了更新到Qt6.2,你还需要更新你的Qt Creator版本Qt Creator6. 或者,您可以在Qt Creator 5中尝试下面的构建标志。

由于Qt Creator 5是作为非通用二进制文件构建的,它将默认生成x86_64二进制文件,无论您的机器是哪种体系结构。要为arm64构建,添加-DCMAKE_OSX_ARCHITECTURES=arm64初始CMake参数"QMAKE_APPLE_DEVICE_ARCHS=arm64添加"附加参数"。场。

相关内容

  • 没有找到相关文章

最新更新