オープンソースのAudio I/OライブラリPortAudioをASIO対応にしてVisual Studio 2022でビルドするには以下の2つの方法があるようです。
1.PortAudioに付属するソリューションファイルをVisual Studioで開いてビルドする
2.CMakeを使用してVisual Studioでビルドする
ここでは、上記2つの方法を紹介します。
PortAudioについては以下をご参照ください。
ASIO SDKについては以下をご参照ください。
執筆時点のPortAudioの安定板ソースは、pa_stable_v190700_20210406.tgz です。
尚、ビルドした環境は以下になります。
・Windows 11 24H2
・Visual Studio Community 2022
・CMake 3.31.8
・Python 3.13.1
1. PortAudioに付属するソリューションファイルをVisual Studioで開いてビルドする
1)PortAudioのソースを展開します。(展開ディレクトリを"portaudio"とします。)
2)ASIO SDK(asiosdk_2.3.3_2019-06-14)を
portaudio\src\hostapi\asio
にコピーしディレクトリ名を"ASIOSDK"にリネームします。
3)以下のソリューションファイルをVS2022で開きます。
portaudio\build\msvc\portaudio.sln
変換するか問われるので変換します。
4)プロジェクトのプロパティを開き、所望の"ソリューション構成"、
"ソリューションプラットフォーム"の
"C/C++" - "プリプロセッサ" - "プリプロセッサの定義"
のPA_USE_ASIO、PA_USE_DSを以下のように"1"に変更します。
(PA_USE_DSについてはお好みで)
PA_USE_ASIO=1
PA_USE_DS=1
5)所望の"ソリューション構成"、"ソリューションプラットフォーム"でビルドします。
6)portaudio\build\msvc\x64\Releaseなどに
"portaudio_x64.dll" "portaudio_x64.lib"
などが生成されます。
2. CMakeを使用してVisual Studioでビルドする
1)PortAudioのソースを展開します。(展開ディレクトリを"portaudio"とします。)
2)ASIO SDK(asiosdk_2.3.3_2019-06-14)を"portaudio"と同じ階層にコピーします。
asiosdk_2.3.3_2019-06-14 ASIO SDK ディレクトリ
portaudio portaudioディレクトリ
注)ここが1.と異なり、ASIO SDKのディレクトリ名もリネームする必要はありません。
3)CMake用Buildディレクトリを作成します。例えば
portaudio\vs2022
4)CMake(cmake-gui)を起動します。
5)"Where is the source code"、"Where to build the binaries"を
以下のように設定します。(設定はフルパスです。)
"Where is the source code" portaudio (1)で展開したディレクトリ)
"Where to build the binaries" portaudio\vs2022 (3)で作成したディレクトリ)
6)"Configure"ボタンを押下します。完了するとASIO SDKディレクトリが自動検出され
PA_USE_ASIOにチェックが入ります。
7)"Generate"ボタンを押下し、完了後"Open Project"を押下するとVS2022が起動します。
8)所望の"ソリューション構成"、"ソリューションプラットフォーム"でビルドします。
9)3)で作成したディレクトリ内(vs2022)の"Debug"や"Release"内に
"portaudio_x64.dll" "portaudio_x64.lib"
などが生成されます。
CMakeでビルドする場合のASIO SDKの展開場所が1.の場合と異なることに気付くまでちょっと時間が掛かりましたが、CMakeを利用した方が簡単かもしれませんね。
以上、ASIO対応PortAudioをVisual Studio 2022でビルドする方法をご紹介しました。
ご参考になれば幸いです。
コメント