我正在尝试将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添加"附加参数"。场。