QT 源码静态编译 已安装 clang 仍然提示 WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
时间: 2024-03-03 12:53:43 浏览: 437
C++(Qt)软件调试-静态分析工具clang-tidy(18)
如果在 QT 源码静态编译时,出现类似以下 WARNING:
```
WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
```
这可能是因为 QT 的 configure 脚本没有正确地检测到 CLANG 的信息。你可以尝试在编译 QT 之前设置以下环境变量:
```
export LLVM_INSTALL_DIR=/path/to/clang/installation
export LLVM_LIBS_DIR=$LLVM_INSTALL_DIR/lib
export LLVM_INCLUDE_DIR=$LLVM_INSTALL_DIR/include
```
其中,/path/to/clang/installation 是 CLANG 的安装路径。
然后,在编译 QT 之前,执行以下命令:
```
./configure -static -prefix /path/to/qt/installation -opensource -confirm-license -nomake examples -nomake tests -skip qtwebengine -skip qtandroidextras -skip qtmacextras -skip qtpurchasing -skip qtquickcontrols2 -skip qtwebview -no-pch -no-icu -no-cups -no-dbus -no-glib -no-harfbuzz -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-xcb -no-opengl -no-feature-relocatable -no-feature-process -no-feature-shared -no-feature-dynamic -no-feature-ssl -no-openssl -no-system-proxies -no-pulseaudio -no-gtk -no-iconv -no-sse2 -no-avx -no-avx2 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx512f -no-avx512bw -no-avx512cd -no-avx512dq -no-avx512er -no-avx512ifma -no-avx512pf -no-avx512vbmi -no-avx512vl -no-avx512vpopcntdq -no-avx5124fmaps -no-avx5124vnniw -no-avx512bitalg -no-avx512vnni -no-avx512vbmi2 -no-avx512bf16 -no-avx512fp16
```
这个 configure 命令会禁用 QT 中的一些功能,以避免与 CLANG 的冲突。其中,-no-feature-shared 和 -no-feature-dynamic 选项会禁用 QT 的共享库和动态库功能,以确保 QT 静态编译后不依赖于系统中的任何共享库。
如果仍然提示 WARNING,可以在 configure 命令中添加 --verbose 参数,查看 QT 配置过程中的详细信息,以确定问题所在。
阅读全文