CLion 2026.2 Help

ESP-IDF

ESP-IDF(英語) は、 ESP32 および ESP32-S シリーズ SoC(英語) の公式開発フレームワークです。 この記事は、CLion で ESP-IDF を操作するための入門ガイドです。

いくつかの手順は、 ESP-IDF はじめ(英語)にガイドを複製します。 以下の例は macOS の場合について与えられており、それに応じて Windows 固有の指示がマークされています。

環境を整える

  1. システムに最新の Python(英語) バージョン、 pip(英語) 、および git(英語) がインストールされていることを確認してください。

  2. システムターミナルを使用して、ESP-IDF のディレクトリを作成し、公式 リポジトリ(英語)のクローンを作成します。

    mkdir -p ~/esp cd ~/esp git clone --recursive https://github.com/espressif/esp-idf.git

    ESP-IDF は ~/esp/esp-idf にダウンロードされます。

  3. 同じシェルに、ツールをインストールします。

    cd esp-idf ./install.sh
  4. Windows では、ESP-32 ボードの USB ブリッジが正しく識別されていることを確認してください。 デバイスマネージャー で確認できます。

CLion のターミナルを使用してサンプルプロジェクトを設定する

  1. CLion で、メインメニューの ファイル | オープン に移動し、 ~/esp/esp-idf ディレクトリを選択します。

    この時点で、 現在のディレクトリ '../esp/esp-idf' はビルドできません ... エラーが原因でプロジェクトのロードが失敗する可能性があります。

  2. CLion の内蔵ターミナル(表示 | ツールウィンドウ | ターミナル または Alt+F12 )を開きます。

  3. . $HOME/esp/esp-idf/export.sh を実行して環境変数を設定します。

    ESP-IDF 環境を設定した結果
  4. examples/get-started ディレクトリから hello_world プロジェクトを構成しましょう。 次のコマンドは、ESP32 チップをターゲットとして設定し、 menuconfig 構成ユーティリティを実行します。

    cd $IDF_PATH/examples/get-started/hello_world idf.py set-target esp32 idf.py menuconfig

    最後のコマンドは、構成メニューを開きます。 使用している hello_world プロジェクトはデフォルト構成で実行されるため、このメニューで設定する必要はありません。

    設定メニュー

    メニューから出て、構成が完了していることを確認します。

  5. これで、 idf.py build を実行して hello_world をビルドできます。

    ビルド結果

次に、ターミナルを使用して CLion でプロジェクトの作業を続行できます。 これには、追加の CMake 構成は必要ありません。 または、コマンドラインなしでプロジェクトをロード、ビルド、実行できるように CMake を設定することもできます(以下を参照)。

CLion で ESPCMake プロジェクトを構成する

Hello-world プロジェクトを開く

  1. メインメニューで、 ファイル | オープン に移動し、 esp/esp-idf/examples/get-started/hello_world フォルダーを選択します。

  2. プロジェクトとして開く​ をクリックして、 ソースを信頼します

    この時点で、プロジェクトの読み込みが失敗する可能性があります。

環境を調達する

ツールチェーン設定を使用して、ESP-IDF 環境スクリプトを指定します。

ESP-IDF インストールには 1 つまたは 2 つの環境ファイルが必要です。 Python 仮想環境の場合は 2 つのファイルが必要です。

環境スクリプトをソースする (macOS の例)

  1. 設定 | ビルド、実行、デプロイ | ツールチェーン に進みます。

  2. 命名方法名 」フィールドの横にある「環境を追加する 」をクリックし、「次のファイルから 」をクリックします。

  3. esp/esp-idf に移動し、 export.sh を選択します:

    ツールチェーン環境スクリプトの設定
  4. ツールチェーン設定を保存します。

  5. プロジェクトは自動的に再ロードされます。 エラーが発生した場合は、メインメニューから ツール | CMake | キャッシュをリセットしてプロジェクトを再ロードする を呼び出します。

カスタムスクリプトを使用して環境を調達する (Windows の例)

Windows では、ESP-IDF 環境をセットアップするには 2 つのファイルが必要です。 これを自動化するには、両方をロードしてツールチェーン環境ファイルとして使用する簡単なスクリプトを作成できます。

  1. プロジェクトフォルダーにスクリプトファイルを作成します。 例: espidf_source.bat

  2. 次の行をカスタマイズしてスクリプトに追加します。

    @call C:\Espressif\python_env\idf5.0_py3.8_env\Scripts\activate.bat @call C:\Espressif\frameworks\esp-idf-v5.0-2\export.bat
  3. 設定 | ビルド、実行、デプロイ | ツールチェーン に進みます。

  4. 命名方法名 」フィールドの横にある「環境を追加する 」をクリックし、「次のファイルから 」をクリックします。

  5. 新しく作成したファイルを選択します。

  6. ツールチェーン設定を保存します。

  7. プロジェクトは自動的に再ロードされます。 エラーが発生した場合は、メインメニューから ツール | CMake | キャッシュをリセットしてプロジェクトを再ロードする を呼び出します。

プロジェクトのビルド

  1. CLion は、検出されたすべての CMake ターゲットに対して 実行 / デバッグ構成を自動的に作成します。

    プロジェクトをビルドするには、構成スイッチャーで アプリ を選択し、ハンマーアイコンをクリックするか、 Ctrl + F9 を押してこの構成の ビルド を実行します。

  2. この時点で、すべての CLion コードインサイト機能が ESP プロジェクトで利用可能です。 いくつかの例については、 Windows 上の CLion を使用した ESP32 用の開発: コードインサイト(英語)を参照してください。

CLion の ESP-32 チップをフラッシュして監視する

  1. 構成スイッチャーで 構成スイッチャーでフラッシュ を選択し、ハンマーアイコンをクリックするか、 Ctrl + F9 を押してビルドします。

    ビルド出力で、チップの点滅のパーセンテージインジケーターを確認できます。

  2. モニター 構成を選択して構築します。 シリアルポートを開けないというエラーが表示された場合は、次の手順を実行します。

    1. デバイスマネージャー を開き、ESP デバイスで使用されているポートを確認します。

    2. CMake 設定の 環境 変数にもう 1 つの変数 ESPPORT を追加します。 値をポートに設定します(例: COM3)。

    3. プロジェクトが再ロードされた後、 モニター 構成を再度ビルドします。 ESP-32 チップは期待どおりに報告する必要があります。

既知の問題と制限

CLion 既存エンジンを使用している場合、一部のケースで long のサイズが 64 ビットと見なされることがありますが、ESP-32 では 32 ビットである必要があります(CPP-23731)。 この問題の回避策として、 ファイル | 設定 | 言語 & フレームワーク | C/C++ | Clangd に移動し、 --target=riscv32 を clangd 診断オプションに追加してください。 CLion Nova を使用している場合は、このような問題は発生しません。

トラブルシューティング (Windows)

Windows で Git executable not found エラーが発生する場合は、ESP-IDF の find_package(Git) コマンドで検出可能な場所に Git がインストールされていることを確認してください。

これを回避するには、 git.exe バイナリへのフルパスを使用して GIT 環境変数を追加します。 esp/idf/tools/cmake/git_submodules.cmake を変更することでそれを行うことができます。 最初の行で、 find_package(Git) を次のように変更します。

if (DEFINED ENV{GIT}) execute_process(COMMAND $ENV{GIT} --version OUTPUT_VARIABLE git_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if (git_version MATCHES "^git version [0-9]") string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}") set(GIT_FOUND True) set(GIT_EXECUTABLE $ENV{GIT}) endif() unset(git_version) else() find_package(Git) endif ()
2026 年 7 月 15 日