去除不需要的模块
执行 configure 时使用-skip跳过配置不需要的模块。
如下:
./configure -prefix ‘/usr/local/Qt6/’-skip qt3d -skip qt5compat
-prefix 指定最终Qt安装的位置,我不太喜欢直接把这些东西直接安装到系统目录,我宁愿安装到其他地方再写环境变量,好处是不需要这些组件时直接删除即可。
configure 命令执行完毕后注意看输出的日志,把缺的依赖该装的都装上,不然后头该编译的模块可能都没给编译上。
最后编译:
cmake --build . --parallel
安装:
cmake --install
编译到qttools等模块报未定义符号错误
如:undefined reference to `typeinfo for clang::ASTConsumer’ 等
原因是这些模块使用Clang编译(即使你配置时指定了编译器为GCC),而且是要基于开启了RTTI功能的LLVM编译的Clang。
这一来问题就麻烦了,因为Clang官方发布的二进制版本都是关闭RTTI后编译的,原因似乎是开启RTTI后会大大拖慢LLVM和Clang的编译速度。 ( 俺 深 有 体 会 ) \color{lightgray}{(俺深有体会)} (俺深