octomapのoctovisのMSVCインストールメモ
以前、octomapをopenFrameworksで使うためにインストールしたことがありましたが、その際、可視化プログラムoctovisはQtを使うことが億劫でインストールしませんでした。
必要が出てインストールしてみたのですが、案の定ちょっと面倒くさかったのでメモを残します。
基本的には/octomap/octovis/README,mdに書いてあります。
QGLViewerのビルド
octomapのoctovisのソース中にQGLViewerというフォルダがあり、これを先にビルドする必要があります。
/octomap/octovis/src/extern/QGLViewer
1.Qt5をインストール
QtのダウンロードサイトDownload Qt: Choose commercial or open sourceから、インストーラをダウンロードして実行します。ライセンス要項が適合するならOpenSource版で構いません。
実行すると、アカウント登録を求められますので登録して進みます。次にインストールするバージョンを選択できますので、安定版Qt 5.11.2のMSVC 2017 64-bitなど好きなものを選んでインストールします。
2.環境変数Pathにqmake.exeの場所を追加
例として
E:\Qt\5.11.2\msvc2017_64\bin
3.VS2017の開発者用コマンドプロンプトを開く
cd octomap/octovis/src/extern/QGLViewer
qmake -t vclib QGLViewer.pro -spec win32-msvc
4.Visual StudioでQGLViewer.vcxprojを開く
x64プラットフォームの場合は、x86を基に構成マネージャーで追加する。あとは普通にビルド。
octomapのビルド
5. CMakeを通す
OCTOMAP_OMP, OCTOVIS_QT5, QT_QMAKE_EXECUTABLE, QGLViewer_LIBRARY_DIR_WINDOWSを設定して一度configureすると、上手く見つからなかった場合、Qt関係のDIRを指定するように指示されますのでこれを指定していきます。例. Qt5Core_DIR \Qt\5.11.2\msvc2017_64\lib\cmake\Qt5Coreなど。都合5個聞かれます。
自分の場合の例はこんな感じ。
6.ビルド
cmakeで生成されたslnファイルをVisual Studioで開いてビルドします。octovis-sharedでエラーが出ます。
まず、octovisのプロジェクトのプロパティを開いて、リンカー→入力→追加の依存ファイルをすべてコピーします。
次に、octovis-sharedのプロジェクトのプロパティを開いて、リンカー→入力→追加の依存ファイルにすべて追加します。先行入力されていたものとダブリがあっても名寄せされますので、気にせずとも大丈夫です。
これでビルドが通るようになっているかと思います。