# デバッグ

このセクションでは、アプリが起動しない問題、ビデオのレンダリングが遅い問題、ビデオ再生時のパフォーマンス低下について、それぞれの詳細と解決策を説明します。

## アプリが起動しない、または起動中に問題が発生する

### DLL欠落エラー

- 問題：DLLがないというエラーが発生します（例：`MSVCP140.dll is missing` 、`VCRUNTIME140.dll not found` ）。
- 詳細：これらのエラーは、アプリケーションが実行に必要なランタイムライブラリが見つからないことを示しています。通常、Microsoft Visual C++ Redistributableパッケージがシステムにインストールされていない場合に発生します。これらのライブラリが存在しないと、アプリケーションは起動できないか、起動中にクラッシュする可能性があります。
- 解決策：x64、x86、Arm64用のRedistributable C++をインストールします。このパッケージには、アプリケーションの正常な実行に必要なDLLファイルが含まれています。

* * *

### MSVCのビルドのエラー

- 問題：MSVCのビルドのエラー： `MSBuild error MSB8020: The build tools for ARM64EC (Platform Toolset = 'v143') can't be found`
- 詳細："Desktop Development with C++ workload" がインストールされていない場合、コンパイル中に次のような問題が発生する可能性があります。

> 
> 
> - ビルドエラー- `MSBuild error MSB8020: The build tools for ARM64EC (Platform Toolset = 'v143') can't be found.` などのエラー。このエラーは、必要なツールセットが使用できないことを示しています。
>     - コンパイルエラー- `fatal error C1083: Can't open include file: 'iostream': No such file or directory.` などのエラー。このエラーは、標準のC++ライブラリがインストールされていない場合に発生します。
>     - ランタイムエラー- 依存関係が欠落している、または設定が誤っている場合、アプリケーションが実行されないことがあります。
- 解決策：Visual Studio 2022（v17.4以降）をインストールし、必要なワークロード（"Desktop Development with C++"" など）がインストールされていることを確認します。このセットアップにより、Arm64EC用のアプリケーションの開発とビルドに必要なツールと設定が提供されます。

* * *

### アドレスの不一致、リンカーエラー、ランタイムエラー

- 問題：複数のDLLでエクスポートされた関数のアドレスが一致していないと、ランタイム時にアプリの起動がクラッシュする可能性があります。
- 詳細：Arm64EC向けにビルドする際、エクスポートされた関数が `__declspec(hybrid_patchable)` でマークされていないと、コンパイル時やランタイム時に次のような問題が発生する可能性があります。

> 
> 
> - アドレスの不一致 - 関数ポインターのアドレスがモジュール間で異なり、動作の信頼性が低下することがあります。
>     - リンカーエラー- DLLからインポートした関数のアドレスが一致しない場合、`LNK2019: unresolved external symbol` または `LNK2001: unresolved external symbol` のようなエラーが発生することがあります。
>     - ランタイムエラー- アプリケーションが正しい関数アドレスを特定できない場合、ランタイムエラーやクラッシュが発生することがあります。
- 解決策：Arm64EC向けにビルドする際は、エクスポートされる関数が正しくマークされていることを確認してください。たとえば、特別な処置が必要な関数には `__declspec(hybrid_patchable)` を使用します。

* * *

### fatal error C1083

- 問題：ビルドエラー： `fatal error C1083: Can't open include file: 'arm_neon.h': No such file or directory` がArm64EC向けのビルド時に発生します。
- 詳細：環境変数 `CFLAGS` および `CXXFLAGS` が正しく設定されていない場合、コンパイル時に次のような問題が発生することがあります。

> 
> 
> - 誤ったコンパイラーフラグ - コンパイラーがデフォルトのフラグや不適切なフラグを使用してビルドを試みると、ビルドエラーが発生する場合があります。
>     - ビルドエラー- `fatal error C1083: Can't open include file: 'arm_neon.h': No such file or directory` のようなエラーが発生する場合があります。これはARM特有のヘッダーが存在しない場合に発生します。
- 解決策：CMakePresets設定で、環境変数が正しく設定されていることを確認してください。例：

> 
> 
> set CXXFLAGS=arm64EC
>         set CFLAGS=arm64EC
>         Copy to clipboard

* * *

### MSVCリンカーエラー

- 問題：MSVCリンカーエラー： `LINK : fatal error LNK1112: module machine type 'ARM64EC' conflicts with target machine type 'x64'`
- 詳細：開発者が誤ったコマンドプロンプトを使用すると、コンパイル時に次のような問題が発生することがあります。

> 
> 
> - ビルドエラー - `cl.exe isn't recognized as an internal or external command, operable program or batch file` のようなエラーが発生することがあります。この場合は、環境が正しく設定されていない可能性があります。
>     - リンクエラー- `LINK : fatal error LNK1112: module machine type 'ARM64EC' conflicts with target machine type 'x64'` のようなエラーが発生することがあります。これは、Arm64EC用にコンパイルされたオブジェクトファイルがx64リンカー設定に適合していないことを示しています。
- 解決策：Arm64EC用のソースファイルをコンパイルおよびリンクするには、Arm64開発者コマンドプロンプトを使用してください。その際、適切なスイッチを使用して `cl` コマンドと `link` コマンドを実行します。

> 
> 
> cl /arm64EC /c <args>
>         link /MACHINE:ARM64EC <args>
>         Copy to clipboard

* * *

### x64 cl.exeのコンパイルエラー

- 問題：Arm64ECコードベースにx64 cl.exeを使用したためMSVCコンパイルエラーが発生する
- 詳細：開発者がArm64ECコンパイルにx64 cl.exeを使用すると、次のようなエラーが発生することがあります。

> 
> 
> - `cl.exe isn't recognized as an internal or external command, operable program or batch file.`
>     - > 
> > 
> > - 説明 - このエラーは、x64環境が/arm64ECフラグを認識しないことにより発生します。このフラグはArm64EC環境特有のものです。
> 
> 
> 
> 
> - `LINK : fatal error LNK1104: can't open file 'MSCOREE.lib'`
>     - - 説明 - このエラーは、リンカーが必要なライブラリを認識できないことを示しています。x64環境ではこれらのライブラリへのパスが設定されていません。
> 
> - `fatal error C1083: Can't open include file: 'arm_neon.h': No such file or directory`
>     - - 説明 - このエラーは、Arm64ECコンパイルに必要なARM特有のヘッダーがx64環境に存在しない場合に発生します。
- 解決策：対策として、コマンド `C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat arm64` を実行してください。

* * *

### コンパイルエラーC1189

- 問題：コンパイルエラー：  `C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\emmintrin.h(24,1): error C1189: #error: this header should only be included through <intrin.h>`
- 詳細：これらのヘッダーはx86およびx64アーキテクチャに特有のヘッダーで、Arm64ECとの互換性がない単独の指示、複数のデータ（SIMD）の組み込み関数が含まれています。これらのヘッダーが使用されている場合、Arm64EC用にコンパイルする際に次のような問題が発生する可能性があります。

    - コンパイルエラー - `C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\emmintrin.h(24,1): error C1189: #error: this header should only be included through <intrin.h>` のようなエラーが発生することがあります。このエラーは、該当するヘッダーがArm64ECでは使用できないことが原因です。
    - ランタイムエラー - SIMDが欠落している、または適合していないため、アプリケーションが正しく実行されないことがあります。
- 解決策：`emmintrin.h, smmintrin.h, xmmintrin.h,` と `tmmintrin.h` のすべてのインスタンスを `intrin.h` に置き換えます。`intrin.h` ヘッダーは、Arm64ECとの互換性がある組み込み関数のための統合インターフェースを提供します。

    `intrin.h` ヘッダーファイルはMSVCで使用できます。個別にダウンロードする必要はありません。このヘッダーファイルはMicrosoft C/C++コンパイラーに含まれていて、`C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<version>\include\intrin.h` にあります。&lt;version&gt; はシステムにインストールされているMSVCツールのバージョン番号に置き換えます。

* * *

### グラフィックアプリの起動の問題

- 問題：OpenCLおよびOpenGLに関連する、グラフィックアプリの起動の問題
- 詳細：OpenCLおよびOpenGL Compatibility Packがインストールされていない場合、アプリケーションの起動時に次のようなエラーが発生することがあります。

> 
> 
> - 起動エラー - グラフィックアプリケーションが起動できない、または起動中にクラッシュする場合があります。

- 解決策：OpenCLおよびOpenGL Compatibility Packを [Microsoft Store](https://apps.microsoft.com/detail/9NQPSL29BFFF?hl=en-us&amp;gl=US&amp;ocid=pdpshare) からダウンロードします。このパックには、グラフィックアプリケーションがWoSデバイス上でスムーズに実行されるようにするために必要な互換性レイヤーがあります。

* * *

### AVX指示セット

- 問題：AVX指示セットのサポートが必要なアプリケーションが起動しない
- 詳細：一部のアプリケーションは高度ベクトル拡張（AVX）指示セットのサポートが必要ですが、これを使用できない場合、次のような問題が発生する可能性があります。

> 
> 
> - アプリケーションのクラッシュ - AVX指示が欠落しているため、実行時にアプリケーションがクラッシュする可能性があります。
>     - 誤った動作 - アプリケーションが予期しない動作を行うか、AVX指示に依存する特定のタスクを実行できなくなる可能性があります。
- 解決策：Windows Canaryリリースに切り替えます。Canaryビルドでは、AVX指示のサブセットがサポートされています。つまり、AVX命令全体ではなく、一部の命令のみが使用可能です。これにより問題が解決する可能性はありますが、すべての機能が利用可能になるわけではありません。そのため、これはAVX関連の問題を解決するための一つの選択肢として有効です。

* * *

## ビデオのエクスポート操作とレンダリング操作が遅い

- 問題：ビデオのエクスポートやレンダリングを行うグラフィックアプリケーションで、エクスポート操作とレンダリング操作が遅くなることがあります。
- 解決策：ラップトップをパフォーマンスモードにして速度を上げます。これは次の手順で行います。

> 
> 
> 1. スタートメニューから「設定」メニューを開き、「Windows」と「I」を同時に押します。
>     2. 「システム」をクリックしてから「電源とバッテリー」を選択します。
>     3. 「電源モード」というラベルのオプションのドロップダウンメニューをクリックします。モードを「最適なパフォーマンス」に設定します。

* * *

## ビデオストリーミングアプリケーションでハードウェアの高速化を有効にする

- 問題：ビデオストリーミングアプリケーションでのビデオ再生のパフォーマンスの問題。
- 解決策：アプリケーションの設定を確認します。大部分のビデオストリーミングアプリケーションには、ハードウェアの高速化の有効化と無効化を切り替えられる設定メニューがあります。ビデオ再生、パフォーマンス、または高度な設定に関連するオプションを探してください。ハードウェアの高速化を有効にすると、タスクがGPUにオフロードされ、CPU使用率が低下し、表示エクスペリエンスがスムーズになるため、ビデオ再生のパフォーマンスが向上します。

Last Published: Jan 13, 2026

[Previous Topic
参考資料](https://docs.qualcomm.com/bundle/publicresource/80-62010-1JA/topics/references.md) [Next Topic
AIアプリ開発](https://docs.qualcomm.com/bundle/publicresource/80-62010-1JA/topics/ai-app-development.md)