このページでは

QDoc用のClangのインストール

QDoc は、C++ ファイルの解析や \fn 。ClangはLLVMコンパイラ・インフラストラクチャ・プロジェクトの一部です。ソースからQDocをビルドする場合は、Clang 17.0以降をインストールする必要があります。

インストールオプション

Qt は、Qt の公式ビルドでテストされ使用されている、公式にサポートされた LLVM/Clang の事前ビルド済みパッケージを提供しています:

注: Windowsでは 、Qt の事前ビルド済みパッケージは Release ビルドのみをサポートしています。

システムパッケージマネージャー

Qt の事前ビルド済みパッケージの代わりに、システムのパッケージマネージャーを使用して Clang をインストールすることもできます。QDoc では、特に Clang コンパイラライブラリとその CMake 設定ファイルが必要です。依存関係は以下の通りです:

  • llvm-<version> (インフラストラクチャ)
  • clang-<version> (コンパイラおよびライブラリ)
  • libclang-<version>-dev (開発用ヘッダー)
  • libclang-cpp<version>-dev (C++ API 開発用ファイル)

以下に、一般的なLinuxディストリビューションおよびmacOSにおけるパッケージマネージャーの代表的な実行方法を示します。

Linux

LLVM と Clang は、ほとんどのディストリビューションで別々のパッケージとなっています。ClangConfig.cmake ファイルを提供する(バージョン指定のある)-dev パッケージを必ずインストールしてください。

  • Debian/Ubuntu:apt install libclang-dev clang libclang-cpp-dev
  • Fedora/RHEL:dnf install clang-devel
  • Arch Linux:pacman -S clang llvm

macOS

Homebrewのllvmフォーミュラを使用してください:

  • brew install llvm
  • ARM64対応のMacの場合: 以下のオプションで設定しますLLVM_INSTALL_DIR="/opt/homebrew/opt/llvm"
  • Intel搭載Macの場合:以下を使用して設定しますLLVM_INSTALL_DIR="/usr/local/opt/llvm"

注: Qtの ビルドシステムは、CMakeに対してClangConfig.cmakeを検索するよう指示します。パッケージのインストールにより、このファイルが提供されていることを確認してください。https://releases.llvm.org/download.htmlから入手できる事前コンパイル済みバイナリは、QDocに必要な特定のコンポーネントが欠落しているため使用できません。

設定

Qt の configure スクリプトが LLVM/Clang ライブラリを見つけられない場合、プラットフォーム固有のインストール手順と、お使いのシステムに必要な正確な設定コマンドが表示されます。

LLVMのインストール場所を手動で指定するには:

  • LLVM_INSTALL_DIR 変数を設定します:configure LLVM_INSTALL_DIR="/path/to/llvm" FEATURE_clang=ON
  • または、CMAKE_PREFIX_PATH に以下を追加します:configure CMAKE_PREFIX_PATH="/path/to/llvm" FEATURE_clang=ON

LLVM/Clangライブラリのインストール後は、QDocのコンパイルを有効にするために、必ずFEATURE_clang=ON を使用して再設定を行ってください。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.