赞
踩
一. 相关背景
环境:
M1
macOS :14,12
Xcode:15,13
背景知识:
安装地址:https://developer.apple.com/develop/
包含编译器:clang
链接器:ld
调试器:LLDB
其他工具:otool、nm、ar、lipo、strip等
安装地址:https://github.com/llvm/llvm-project/releases
LLVM 核心工具 :llvm-as llvm-dis llvm-link llvm-opt
Clang 工具: clang clang++ clang-format clang-tidy
LLDB 调试器 :lldb
其他工具: mlir-tblgen polly cfe
Xcode工具链依赖于Xcode IDE,集成良好,但是版本绑定;
LLVM工具链独立可随意升级。
安装LLVM主要是为了编译QDoc,不编译QDoc时不需要装。
If you want to build Qt WebEngine or Qt PDF, you will need the following additional dependencies:
Python html5lib
Bison, Flex
Gperf
Node.js version 8 or later (version 12 recommended)
Qt官方文档说明,如果要编译Qt WebEngine or Qt PDF,要安装上述几个依赖,切记不要用 brew 安装。brew install 的版本不是universal版本。比如node.js 需要去官网安装,官网支持universal,而不是brew安装。
编译universal版本切记一个要点,依赖的工具,依赖的库也要universal
检查完所有的编译依赖版本后,检查下系统路径有没有什么干扰,比如brew安装过的包llvm,clang 是不是配置过,这会导致编译Qt时不会用Xcode的clang版本。如下图注释掉。
vim ~/.bash_profile
or
vim ~/.zshrc
二. 编译Qt universal 版本
思路:
https://www.cnblogs.com/wqcwood/p/15138983.html
file demo.app/Contents/MacOS/demo
or
lipo -info demo.app/Contents/MacOS/demo
Qt5 编译可以参考(交叉编译尽量Qt5.15.9以上):
https://www.downtowndougbrown.com/2023/08/how-to-create-a-qt-5-arm-intel-universal-binary-for-mac/
Qt6 编译可以参考官方文档(最新Qt6.6.1):
https://doc.qt.io/qt-6/build-sources.html
一些命令:
查找clang位置
xcrun -sdk macosx -find clang
创建编译文件夹out 进入out
mkdir out && cd out
配置
../configure -skip qt3d -skip qtpdf -skip qtwebengine -no-feature-qdoc -- -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
列出features,这个features可以在配置时候
使用-no-feature-xx 不选择,-feature-xx 选择。
../configure -list-features
https://blog.csdn.net/u011190652/article/details/126446114?spm=1001.2014.3001.5502
https://build-qt.fsu0413.me/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。