liblo: Lightweight OSC implementationのインストール
liblo本家のホームページはこちら。
Downloadでは無く、下のViewGitからDownload Snapshotでソースコードを持ってきます。POSIX環境なら、./configure,sudo make installで簡単にインストールできます。WindowsのMSVC環境では、もう少し面倒で、premake4というソフトウェアをインストールする必要があります。libloのbuildフォルダの中にpremake4.exeをコピーして、コマンドプロンプト上で、buildフォルダにcdで移り、
premake4.exe vs2010
を実行します。vs2010フォルダ内に移動して、vs2012でslnファイルを開きます。プロジェクトのバージョンの更新をするかどうか聞かれますので、行ってください。pthreadが必要になるので、POSIX Threads for Windowsからダウンロードして適当な場所においてください。*1
vs2012のプロジェクトのプロパティからインクルードパスを設定します。全部ビルドしたければ3つのプロジェクトとそれぞれのDebugDLL/RelaseDLL/DebugLib/RelaseLibの12箇所です。
pthreads-w32-2-9-1-release\Pre-built.2\include
同じようにプロジェクトを設定してx86/pthreadVC2.libをリンクできるようにライブラリパスを通してください。
そのままビルドすると、lo_server_add_socket関数中で”void*のサイズが不明です。”といったエラーが出るので、ソースコードを一部修正してビルドが通るようにします。関数中ほどのこの記述の下2行を書き換えて、void*からchar*に変更します。char*でなくても、int*でも構いません。構わない理由は、ポインタはメモリアドレスを指すものなので、アドレスの表記はどの型でも同じ(多くのC言語環境ではポインタの実態はintと同じ)だからです。*2
/* Update array of open sockets */
if ((s->sockets_len + 1) > s->sockets_alloc) {
char* sc; //void *sc;
char* sp; //void *sp
ビルドが通ると、ルートディレクトリの/libに生成されたliblo.libが出来ていますので、自分のプログラムにこれをリンクして使用します。