JetBrains Fleet 1.48 ヘルプ

JSON compilation database の生成

プロジェクト用の compile_commands.json ファイルを生成するには、コンパイラー、ビルドシステム、専用のツールを使用できます。

  • CMake

    CMAKE_EXPORT_COMPILE_COMMANDS(英語) フラグを使用します。以下のいずれかを実行します。

    cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .

    または、CMakeLists.txt ファイルに次の行を追加します。

    set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

    compile_commands.json ファイルはビルドディレクトリに配置されます。

  • Clang (バージョン 5.0 以降)

    -MJ(英語) オプションを使用して、各入力ファイルのコンパイルエントリを出力します。その後、出力を JSON 形式の compilation database にマージできます。手順例(英語)を参照してください。

  • Ninja (バージョン 1.2 以降)

    -t compdb(英語) オプションを使用して compilation database を生成します。引数としてルール名が必要であることに注意してください: -t compdb rule1 rule2 ...

    ルールのリストは Ninja ビルドファイル(通常は build.ninja)に記載されています。例:

    rule cc command = gcc -c -o $out $in description = CC $out rule link command = gcc -o $out $in description = LINK $out

    cc という名前の単一のルールに対して compilation database を生成するには、次を実行します。

    -t compdb cc > compile_commands.json

    複数のルールを含めるには、ビルドファイルからルール名を抽出し、compdb に渡します。詳細については、こちらのガイド(英語)を参照してください。

  • ベースのプロジェクトを作成する

    compiledb-generator(英語) ツールを使用して、make ベースのビルドシステム用の compilation database を作成します。

  • Bear および Intercept-Build ツール

    クマ(英語)intercept-build (scan-build(英語) から) などのツールは、ビルドプロセス中にコンパイラー呼び出しをインターセプトして compilation database を生成できます。

  • SourceTrail Visual Studio 拡張機能

    SourceTrail エクステンション(英語)Visual Studio ソリューションの compilation database を生成します。

2025 年 5 月 22 日