CLion 2024.1 ヘルプ

WSL2

WSL (WSL 2) – Windows Subsystem for Linux – は、Windows 10 以降で Linux バイナリ実行ファイルをネイティブに実行するための互換性レイヤーです。現在、Ubuntu、OpenSUSE、SLES など、いくつかの Linux ディストリビューション(英語)をサポートしています。

プロジェクトに WSL ツールチェーンを設定すると、Windows マシンで実行されている CLion を移動せずに、Linux のツールチェーンを使用してビルドし、WSL で実行 / デバッグできます。

WSL を設定する

  1. Microsoft ストアから WSL ディストリビューション(Ubuntu など)をダウンロードしてインストールします。

    この手順では、最新の「Fall Creators Update」(最小バージョン 1709、ビルド 16299.15) を適用した少なくとも Windows 10 以降を使用してください。手順については、公式ガイド Windows Subsystem for Linux をインストールするを参照してください。

    WSL 2 を使用するには、Windows のバージョンが 10 ビルド 18917 以降である必要があります。これらの手順(英語)に従って、ディストリビューションを切り替えます。

    CLion は、システムを Windows 10 のビルド 16299.15 以降にアップグレードする前にインストールした可能性があるレガシー WSL をサポートしていないことに注意してください。この場合、WSL ディストリビューションを更新する必要があります。

  2. Linux ディストリビューションを実行します。

    最初の起動時に、システムは Windows のオプション機能を有効にするように求めるメッセージを表示する場合があります。この場合、次のことを行う必要があります。

    • 管理者として Windows PowerShell を開き、実行します

      Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    • コンピューターを再起動してください。

  3. Linux ディストリビューション環境をセットアップします。

    次のように、cmake、gcc、clang(およびオプションで build-essentials パッケージ)をインストールします。

    sudo apt-get update sudo apt-get install cmake gcc clang gdb build-essential

プロジェクト用に WSL ツールチェーンを設定する

  1. CLion で、設定 | ビルド、実行、デプロイ | ツールチェーンに移動します。

  2. plus icon をクリックして新しいツールチェーンを作成し、WSL を選択します。

  3. ツールセットフィールドで、使用可能な WSL ディストリビューションの 1 つを選択します。このリストには、wsl.exe --list によって検出された分布が含まれています。これには、インポートされた分布が含まれます。

    WSL toolchain

    すべてのツールが検出されるのを待ち、設定を保存します。

  4. ツールチェーンの使用を開始するには、次の手順を実行します。

    1. WSL ツールチェーンをデフォルトとして設定する (リストの一番上に移動する) か、関連付けられた CMake プロファイルを作成します

    2. 通常どおりビルド実行、およびデバッグします。

    1. 設定 | ビルド、実行、デプロイ | Makefile で WSL ツールチェーンに切り替えます。

    2. ツール | Makefile | Makefile プロジェクトのクリーンと再ロードを呼び出します。

    3. ネイティブアプリケーション構成で、\mnt\.. 表記(たとえば、\mnt\c\Users\jetbrains\CLionProjects\SimpleMakefile\runme)を使用してバイナリに実行可能ファイルをポイントします。

ファイアウォール構成

プロジェクトのビルドが正しく機能することを確認するには、次の手順を実行する必要があります。

ファイアウォール設定を構成する

  1. 管理者として Windows PowerShell を実行します。

    Restore firewalls to default
  2. WSL を使用した接続を許可するには、次のコマンドを実行します。New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow

  3. 次に、ファイアウォールルールを更新するコマンドを実行します。Get-NetFirewallProfile -Name Public | Get-NetFirewallRule | where DisplayName -ILike "IntelliJ IDEA*" | Disable-NetFirewallRule

  4. 次に、デバッガーセッションを開始しますWindows ファイアウォールポップアップが表示されたら、パブリックネットワークチェックボックスを選択します。

    Allow public networks

関連ページ:

シンクライアントでリモート入門

SSH 接続を使用してリモートサーバーに接続し、プロジェクトを開発、実行、デプロイできます。JetBrains Space、Gitpod、Google Cloud、GitHub Codespaces で実行されている開発環境に接続することもできます。前提条件:リモートマシンで開発を開始する前に、次のものがあることを確認してください。リモートマシン(IDE のターゲット)は、IDE の記事にある推奨される最小要件を満たしています。Linux プラットフォームに互換性のある SSH サーバーをインス...

詳細設定

CLion は、頻繁に使用する標準設定に加えて、特定の製品機能の動作を微調整するために使用できるさまざまな高度なオプションを提供します。詳細設定はさまざまなセクションで構成されているため、検索フィールドを使用して、関心のあるセクションまたは必要なオプションにすばやく移動できます。詳細オプションの一部にはレジストリキーが関連付けられているため、レジストリキーを検索することもできます。CLion:ReSharper C++ 言語エンジンを使用する (CLion ノヴァ)CLion ノヴァに切り替える...

ビルドアクション

プロジェクトのビルド、クリーニング、インストールのアクションは、メインメニューのビルドセクションにまとめられています。以下の表は、ビルドアクションが次のタイプのプロジェクトでどのように機能するかを示しています。CMake,、メイクファイル、中間子、カスタムビルドターゲットを含む Compilation Database とカスタム実行 / デバッグ構成。CMake プロジェクトのビルドアクション:プロジェクトのビルドカスタムビルドターゲットの場合: 最初のターゲットのビルドツールを呼び出します。ビ...

アプリケーションを実行する

CLion はユニットテストだけでなくアプリケーション全体の実行を可能にします。実行 / デバッグ構成で起動前ツールを構成している場合、CLion はそれらを最初に実行してから、アプリケーションを実行します。それ以外の場合、プログラムはすぐに開始されます。簡単な方法:エディターから実行プログラムにパラメーターを渡さず、プログラムを開始する前に特定のアクションを実行する必要がない場合は、エディターから直接実行できます。クラス宣言の近くのガターでクリックし、実行を選択します。カスタマイズ可能な方...

Valgrind の memcheck

Valgrind Memcheck は、リーク、無効なメモリアクセス、不正なメモリリリース、未定義の値参照などのメモリ使用の問題を検出するツールです。CLion の Valgrind 統合は、Linux、macOS、WSL を備えた Windows で動作します (WSL 上の Valgrind を参照)。Valgrind を設定するシステムに Valgrind をインストールします。CLion で、に移動します。CLion は、システムで設定されている Valgrind バイナリを検出しようとしま...

Makefile プロジェクト

CLion での Makefile プロジェクトの完全なサポートは、まだ進行中の作業です。CPP-494 にリンクされたチケットを使用して、フィードバックを残し、希望する機能に投票してください。Makefile プロジェクトを開くメインメニューからを選択します。CLion が最上位の Makefile を含むフォルダーをポイントします。プロジェクトをクリーンアップするように求められます。Make ビルドはインクリメンタルであり、更新されたファイルのみがコンパイルされるため、プロジェクトのロードにはクリ...