VR
SteamVR
OpenVR

OpenVR-InputEmulatorと連携するアプリケーション作りたい(ビルド設定編)

OpenVR-InputEmulatorと連携するアプリケーション作りたい

やってみたらビルド設定が結構大変!
のでマニュアル化

1. ファイルの準備

以下のファイルを用意します。

OpenVR-InputEmulatorのソース
https://github.com/matzman666/OpenVR-InputEmulator
→zip展開するかpullしておく

OpenVRのソース
https://github.com/ValveSoftware/openvr
→zip展開するかpullしておく

Boost 1.63 Binaries (boost_1_63_0-msvc-14.0-64.exe)
https://sourceforge.net/projects/boost/files/boost-binaries/1.63.0/
→exeファイルをいい感じのところにインストール

Visual Studio 2015 Community
「Visual Studio Dev Essentials」で探して!
→C++を有効にしてインストール

2.ライブラリのビルド

アプリケーションのビルドには以下のライブラリが必要になります。
・libvrinputemulator.lib
・boostのアレソレ
・openvr_api.lib
・openvr_api.dll

このうち、libvrinputemulator.libは存在しないのでビルドする必要があります。

OpenVR-InputEmulator-1.3\lib_vrinputemulatorにあるlib_vrinputemulator.vcxprojをVS2015で開き、
プロジェクトのプロパティを開いて、「すべての構成」に切り替え。
「VC++ディレクトリ」の「インクルードディレクトリ」に

D:\boost_1_63_0;E:\OpenVR-InputEmulator-1.3\lib_vrinputemulator\include;E:\openvr-master\headers;$(IncludePath)

みたいな感じで入れる。(boost_1_63_0と、OpenVR-InputEmulator-1.3と、openvr-masterを追加する)

「ライブラリディレクトリ」に

D:\boost_1_63_0\lib64-msvc-14.0;E:\OIEtest;$(LibraryPath)

みたいな感じに入れる。(boost_1_63_0)を追加。

ReleaseとDebugの両方でビルドする。
OpenVR-InputEmulator-1.3のフォルダに、DebugとReleaseが増えて、libファイルが入っているはず。

3.プロジェクトの設定

Win32コンソールアプリケーションで空のプロジェクトを作る。
参考: https://qiita.com/gpsnmeajp/items/1905a74419f8055484d5

ソースファイルとして、
・client_commandline.cpp
・client_commandline.h
・main.cpp
を入れるとわかりやすい。

プロジェクトの構成はx64にすること。

先程のと同じプロジェクトの設定をした上で、
「リンカー」→「入力」→「追加の依存ファイル」を「libvrinputemulator.lib;openvr_api.lib;%(AdditionalDependencies)」にする。

ソースファイルが入っているのと同じ場所に
・libvrinputemulator.lib (構成がDebugならDebugフォルダから、ReleaseならReleaseフォルダから取り出したものを入れる)
・openvr_api.lib
を入れる。

コンパイル成功後、EXEファイルと同じ場所にopenvr_api.dllを入れること。