cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

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個聞かれます。
自分の場合の例はこんな感じ。
f:id:cvl-robot:20181120135609p:plain

6.ビルド
cmakeで生成されたslnファイルをVisual Studioで開いてビルドします。octovis-sharedでエラーが出ます。
まず、octovisのプロジェクトのプロパティを開いて、リンカー→入力→追加の依存ファイルをすべてコピーします。
次に、octovis-sharedのプロジェクトのプロパティを開いて、リンカー→入力→追加の依存ファイルにすべて追加します。先行入力されていたものとダブリがあっても名寄せされますので、気にせずとも大丈夫です。
これでビルドが通るようになっているかと思います。