Arm64EC の利用を始める

Arm64EC を使用してアプリまたはプロジェクトの構築を開始するには、いくつかの前提条件をインストールし、Arm64EC 構成を追加する必要があります。

前提条件

  • 最新の Windows 11 SDK ビルド。 Windows 11 SDK バージョン 22000 を使用している場合、2022 年 7 月 29 日に更新されたバージョンには、Arm64EC アプリをビルドするための主要な修正プログラムが含まれています。
  • Visual Studio 2022 バージョン 17.3 以降
  • Visual Studio インストーラーと共にインストールされた Arm64EC ツール。

Visual Studio インストーラーで、[個別コンポーネント] を検索し、[MSVC v143 - VS 2022 C++ ARM64 ビルド ツール] チェックボックスを選択することで、Arm64EC ツールを追加できます。

Visual Studio Installer Arm64EC checkbox screenshot

重要

Visual Studio 2022 バージョン 17.4 の時点では、Arm64 ツール (MSVC v143 - VS 2022 C++ ARM64 ビルド ツール) のインストール時に Arm64EC ツールが含まれています。 Arm64EC ツール用に個別のオプションを選択する必要がなくなりました。

前提条件とツールをインストールしたら、MSBuild および CMake プロジェクトで Arm64EC をターゲットにすることができます。

MSBuild プロジェクト

  1. ツールと SDK がインストールされている状態で、新しい C++ プロジェクトを作成するか、既存のものを開きます。

    Note

    プロジェクトで Windows 11 以前の SDK または VS 17.3 以前のバージョンの MSVC を使用している場合は、それぞれの最新バージョンを使用するようにソリューションを再ターゲットする必要があります。

  2. Arm64EC プラットフォームを追加するには:

    • [ビルド] メニューの [構成マネージャー] をクリックします。
    • [アクティブ ソリューションプ ラットフォーム] ボックスで、<New…> を選択して新しいプラットフォームを作成します。
    • [ARM64EC] を選択し、x64 から設定をコピーして、[新しいプロジェクト プラットフォームを作成する] チェックボックスをオンにします。

    Visual Studio Installer New Arm64EC Platform screenshot

    必要に応じて、ソリューションの一部を x64 として残すように選択できます。 ただし、Arm64EC として構築されたコードが多いほど、Arm 上の Windows 11 でネイティブ パフォーマンスで実行されるコードが増えます。 すべての外部依存関係について、ご自分のプロジェクトが x64 または Arm64EC バージョンのプロジェクトに確実にリンクしているようにしてください。

  3. 新しいソリューション プラットフォームが配置および選択されている状態で、Visual Studio で [ビルド] を選択して、Arm64EC バイナリの構築を開始します。

設計上、Arm64EC ソリューション内のすべてのプロジェクトが、代わりに x64 をターゲットにできるため、Arm64EC をターゲットにする必要はありません。 x64 としてメインするこのようなプロジェクトの場合は、ARM64EC ソリューション ビルドの下で x64 をターゲットにするように、Configuration Manager でそれらのプロジェクトを構成してください。

CMake プロジェクト

  1. "C++ CMake" プロジェクトを開くか、新しいプロジェクトを作成します。

  2. アクティブな構成ドロップダウンに移動し、[構成の管理] を選択して、CMakePresets.json ファイルを開きます。

  3. Arm64EC に必要な Windows 構成のアーキテクチャ プロパティを変更します。

     "architecture": { 
        "value": "arm64ec", 
        "strategy": "external"
     }
    

    既定のジェネレーターは Ninja です。 Visual Studio ジェネレーターを使用している場合は、設定する戦略フィールドを変更します。

  4. Ninja ジェネレーターを使用する場合は、環境オブジェクトを CMakePresets 構成に追加して、いくつかの環境変数を設定する必要もあります。

     "environment": { 
        "CXXFLAGS": "/arm64EC",
        "CFLAGS": "/arm64EC" 
     }
    
  5. CMakePresets ファイルを保存し、アクティブな構成が Arm64EC 構成に設定されていることを確認します。 メニュー バーから [プロジェクト メニュー] を選択し、[プロジェクト名の構成] を選択して CMake キャッシュを生成します。

  6. [ビルド] メニューに移動し、[すべてビルド] を選択して、他の CMake プロジェクトと同様に Arm64EC をターゲットとする CMake プロジェクトをビルドします。

開発者コマンド プロンプト

Visual Studio 開発者コマンド プロンプトを使用して Arm64EC のソース ファイルをコンパイルおよびリンクすることに関心がある場合は、Arm64 開発者コマンド プロンプトを使用してから、自分と cl および link コマンドを個別に実行する必要があります。 Arm64EC コードのビルドとリンクには、cl には /arm64EC スイッチ、link には /MACHINE:ARM64EC を使用します。

cl /arm64EC /c <args>

link /MACHINE:ARM64EC <args>

コマンド ラインから Microsoft C++ ツールセットを使用する方法の詳細を確認します。