現在一部の記事の写真がリンク切れを起こしています。申し訳ありません。(そのうちどうにかします。)

The Synthesis Toolkit in C++の導入メモ

The Synthesis Toolkit in C++の導入メモ

The Synthesis Toolkit in C++(以下STK)の導入メモ

結局導入できなかったゴミ記事です。読まないことをお勧めします。

 

ディレクトリについて

src — .cppファイルを含む

include — ヘッダファイルを含む

rawwaves — サウンドファイルを含む

doc — ドキュメント

projects — デモと例を組む

 

VisualStudio2015でのコンパイルの仕方

stk-4.x.x/projects/demo/demo.dspを無理やり開き,

現在のバージョンにコンバートする.

VSのプロジェクト->プロパティを選択

構成プロパティ / 全般 の「構成の種類」を「ライブラリファイル(.lib)」にする.

構成プロパティ/ C/C++ / コマンドライン を選択

下の方にある「追加のオプション(D)」の欄に「/FS」を指定

OKを押し,「Release」環境にてビルド.

そうしたらVisualStudioに付属の「開発者コマンドプロンプト」を開き

stk-4.x.x/projects/demo/Releaseに移動.

そこで

lib OUT:libstk.lib *.obj

を実行.すると見事にライブラリファイルが生成されます!

 

 

使いたいプロジェクトのプロパティを開いて,リンカー / 全般 の「追加のライブラリディレクトリ」に demo.lib があるディレクトリを追加.(あれだったら自分のプロジェクトファイルの下にdemo.libをstk.libとかにリネームして持ってきとくとわかりやすいかもですね)

つぎに リンカー / 入力 の「追加の依存ファイル」にdemo.lib(リネームしたならその名前)を追加.

C/C++ / コマンドラインオプションに「/MTd (or /MT) /FS」を追加して,Release環境にすると実行できます.「PDBファイルが見つからない」って言われますが…一応実行できます.(どうやらWindows/WOW64内の.dll群にはPDBファイルがないのは正常なようです)

※リアルタイム合成をしようとしたところ,動きませんでした.PortAudioの使用をお勧めします.

 

コマンドラインでのコンパイルの仕方

Windowsの場合, リアルタイム合成はDirectSound, ASIO, WASAPIで利用可能

MinGWコンパイラUnixコンパイル可能.(自分はWindows Subsystem for Linuxで実行)

GNU向けのシェルスクリプトが入っている.

 

STKの一番上のディレクトリで

autoconf

./configure -with-ds

 と実行するとMakeFileが生成される.(DirectSoundを使う場合)

(※これを実行するにはg++, CC, c++, cxxのいずれかと,libasound2-devがインストールされていないといけない)

そのほかのオプションは以下である.

–disable-realtime to only compile generic non-realtime classes
–enable-debug to enable various debug output
–with-alsa to choose native ALSA API support (default, linux only)
–with-oss to choose native OSS audio API support (linux only, no native OSS MIDI support)
–with-jack to choose native JACK API support (linux and Macintosh OS-X)
–with-core to choose Core Audio API support (Macintosh OS-X)
–with-asio to choose ASIO Audio API support (Windows)
–with-ds to choose Windows Direct Sound Audio API support (Windows)

 そして一番上のディレクトリで

make

すると,srcディレクトリの下にライブラリファイルである「libstk.a」が生成される.

 (※しかし「.aファイル」はVisualStudioでは使えない)

 

未分類カテゴリの最新記事