Skip to content

Development Environment

github-actions[bot] edited this page Oct 12, 2026 · 6 revisions

開発環境

公開している SRdeck と SRdeckPlugins のソースをビルドするための環境を説明します。ソースの取得、プラットフォームパッケージの配置、build.batの使い方は、各リポジトリの日本語README(SRdeck)、日本語README(SRdeckPlugins)を参照してください。このページでは主にC++/CMake環境の準備とエラーの確認方法を扱います。

必要な環境

ビルド対象 必要な環境
公開 SRdeck のホストアプリ Windows x64、.NET 10 SDK、C++ ビルドツール、Windows SDK、CMake、初回のNuGet復元用インターネット接続
公開 SRdeckPlugins のプラグインのみ Windows x64、.NET 10 SDK、対応する版のプラットフォームNuGetパッケージ4個、復元用インターネット接続。Gitはソース取得に使う場合のみ必要で、CMakeは不要

ホストの実行ファイルパッケージを使う場合は、ビルド環境とは別に.NET 10 Desktop Runtime(x64)とWebView2 Runtimeが必要です。Windows 10 / 11には通常WebView2 Runtimeが標準搭載されています。

プラグインが参照するパッケージは次の4個です。すべてSRdeckPlugins READMEに示された同じプラットフォーム版にそろえ、対応するSRdeckリリースのホストで動作確認してください。

  • SRdeckPlugin.Contracts
  • SRdeckPlugin.Sdk
  • SRdeckPlugin.Wpf
  • SRdeckCore.SignalProcessing

C++ / Windows SDK / CMake を用意する

Visual Studio InstallerでVisual StudioまたはBuild Toolsの「変更」を開き、**「C++ によるデスクトップ開発」**ワークロードを選択します。インストールの詳細で次を確認してください。

  • MSVCのx64/x86ビルドツール(VS 2022: v143、VS 2026: v145)
  • Windows 10 SDKまたはWindows 11 SDK
  • Windows用C++ CMakeツール。別途CMakeをインストールする場合は省略できます

CMakeはVS 2022では3.21以上、VS 2026では4.2以上を使用してください。CMakeをPATHに追加するか、ホストのビルド時にCMAKE_EXE環境変数でcmake.exeのフルパスを指定します。

CMakeLists.txtの最小バージョンは3.20ですが、Visual Studioジェネレーターには別の要件があります。VS 2022用ジェネレーターはCMake 3.21、VS 2026用ジェネレーターはCMake 4.2で追加されています。

Microsoftの手順はVisual C++のインストールを参照してください。C#用のワークロードやVS CodeのC/C++拡張機能だけでは、MSVCとWindows SDKはそろいません。

ツールを確認する

インストール後にPowerShellを開き直し、次のコマンドを実行します。

dotnet --info
cmake --version
cmake --help
git --version

dotnet --infoに.NET 10 SDKが表示されること、cmake --versionが必要な版以上であることを確認します。cmake --helpのGenerators欄には、使うVisual Studioのジェネレーターが表示されます。GitはGitでソースを取得するときに確認してください。

ホストのREADMEと同じコマンドプロンプトで、CMakeの場所を明示する例です。

set "CMAKE_EXE=C:\Program Files\CMake\bin\cmake.exe"
build.bat

Visual Studio同梱版を指定する場合は、そのcmake.exeのフルパスを設定します。PowerShellからビルドする場合は$env:CMAKE_EXEに同じパスを設定してから.\build.batを実行してください。

ネイティブ環境を先に確認する

公開 SRdeck のソースルートで、ホストのCPU FFTを新しい出力フォルダーへ構成・ビルドできます。VS 2026を使う場合は、ジェネレーターをVisual Studio 18 2026に変更してください。

$env:CMAKE_GENERATOR = 'Visual Studio 17 2022'
$cmakeExe = if ($env:CMAKE_EXE) { $env:CMAKE_EXE } else { 'cmake' }
& $cmakeExe -S .\SRdeck\native\sr_fft -B .\artifacts\native-check\sr_fft -A x64
& $cmakeExe --build .\artifacts\native-check\sr_fft --config Release

新しい出力フォルダーを使うと、既存ビルドのCMakeキャッシュに影響されず、コンパイラーとWindows SDKを確認できます。この手動確認には、PATH上のcmakeかCMAKE_EXEで指定した実行ファイルを使ってください。

CMakeエラーを確認する

最初のエラー 確認・対処
cmakeが見つからない/終了コード9009 手動実行ではCMakeをPATHに追加するか、フルパスで実行します。ホストのbuild.batではCMAKE_EXEを設定できます
Could not create named generator/Visual Studioのインスタンスが見つからない CMakeとVisual Studioの版の組み合わせ、C++ワークロードを確認します。CMAKE_GENERATORはインストール済みのVisual Studioを指定します
CMAKE_C_COMPILER/CMAKE_CXX_COMPILERが未設定、またはコンパイラーの確認に失敗 MSVC x64/x86ツールとWindows SDKを追加し、最初のコンパイル/リンクエラーを確認します
Windows SDKが見つからない/windows.h、rc.exe、kernel32.libがない Visual Studio InstallerでWindows SDKを追加します
does not support platform specification(Ninja / NMakeなど) ホストの自動ビルドは-A x64を渡すため、Visual Studioジェネレーターを使います。CMAKE_GENERATORの設定を確認します
generator / platformが以前の設定と一致しない Visual Studioやジェネレーターを変更した場合は、SRdeck/native/sr_fft/build、sr_gpu/build、sr_rx888/buildの既存キャッシュを退避して再構成します

環境変数を変更しても、既存のCMakeキャッシュは更新されません。後続のMSB3073や終了コードだけでなく、その前に出た最初のCMake Error、実行したコマンド、cmake --versionの結果を確認してください。公開 SRdeckPlugins のプラグインビルドはCMakeを呼び出さないため、プラグインだけをビルドしている場合は、実行したコマンドと対象ソリューションを確認します。

SRdeckホストをビルドする

公開 SRdeck リポジトリのソースルートで、コマンドプロンプトからbuild.batを実行します。BATが依存関係を復元し、Release x64でSRdeck.slnをビルドします。

build.bat
build.bat Debug
build.bat Release --no-pause

ホストのビルドではSRdeck/native/sr_fftとSRdeck/native/sr_gpuのネイティブDLLもCMakeで構築されます。EnableRx888=trueの場合はsr_rx888も対象です。生成されるホスト実行ファイルは次の場所にあります。

SRdeck\bin\x64\Release\net10.0-windows\win-x64\SRdeck.exe

SRdeckPluginsをビルドする

公開 SRdeckPlugins リポジトリのREADME.ja.mdに従い、対応するSRdeckリリースのプラットフォームNuGetパッケージ4個を取得して、展開せずにplatform-packagesへ置きます。パッケージの版を対象ホストと一致させてから、同リポジトリのbuild.batを実行してください。

この公開プラグインスナップショットのビルドはCMakeを呼び出しません。SRdeckホストもソースからビルドする場合は、上記のC++ビルドツール、Windows SDK、CMakeを用意してください。プラグインDLLとプラグイン固有の依存DLLを使って動作確認するときは、対象ホストのSRdeck.exeと同じフォルダーへ配置してホストを再起動します。

新しいプラグインの作成手順は最初のプラグイン、設計の概要は開発概要を参照してください。

Clone this wiki locally