PortAudio を VS2010 Express でビルドする

PortAudio を Visual C++ から利用しようと思ったのだが、導入に手こずってはまりかけた。
環境: Windows 8.1 (x64), Visual Studio 2010 Express, CMake 3.2.2

使ったソースは pa_stable_v19_20140130.tgz。
このなかにある build/msvc 以下のファイルは、VS2010で開くとプロジェクト変換に失敗してしまう。
検索してみると VS2008 ならうまくプロジェクト変換できるという情報(PortAudioでリアルタイム入出力制御 (1))もあったが、今回のPortAudioのためだけに環境を構築しなおすのはあまりにも面倒くさすぎるので試さなかった。

最終的には、CMake を使ってVisualStudioプロジェクトを生成したところ、うまくビルドできた。
詳しいことはPortAudioのCMakeに関するドキュメント(Creating MSVC Build Files via CMake)に書いてある。

以下にざっくりと手順を書いておく。
  1. CMake 2.8以降をインストールする。
  2. PortAudio から ASIO を利用したい場合は ASIOSDK をダウンロード。フォルダ名を「ASIOSDK2.3」から「ASIOSDK」にして src/hostapi/asio にコピーする。
  3. CMake GUI を起動。「Where is the source code」には CMakeLists.txt があるディレクトリ、「Where to build the binaries」にはVS2010プロジェクトを作るディレクトリを指定する。
  4. 「Configure」をクリック。ドロップボックスからVisualC++のバージョンを選ぶ。
  5. 必要に応じて PA_USE_ASIO などのオプションをいじる(オプションを変更する場合、再度Configureする必要がある)。
  6. 「Generate」をクリック。指定ディレクトリにVC++プロジェクトが生成される。

いままでほとんどCMakeを使ってこなかったけれど、思った以上に便利で感動した。

コメント

このブログの人気の投稿

基本波形の生成

(1)C言語で音声合成もどき ~WAVファイルを生成する~

(2)C言語で音声合成もどき ~母音の生成~