/*THK Analytics用解析タグ*/

【PCL】VCPKGを使ってPoint Cloud LibraryをVisual Studioにインストール

2023年8月28日

 

Point Cloud Library(以降PCL)をVisual studioにインストールする方法をご紹介します。
自分も結構苦労したので備忘録もかねて。

Visual Studioのインストール

最初にVisual studioのインストールが必要です。
visual studio 2019のインストールにこの記事を参考にして下さい。

 

WindowsへのPCLインストールの方法

PCLはBoostやEigenなど複数の外部ライブラリを必要としますので、インストールも結構面倒です。
インストールもいくつかの方法が用意されています。

ALL-in-one-installer

必要なライブラリをまとめてインストールしてくれるので、一番簡単な方法だとおもいます。
しかしvisual studioの環境によりインストーラーも変わってきます。
色々試したのですが自分は成功しませんでした。

VCPKGを利用する

VCPKGとはC/C++で記述されたオープンソースのライブラリを利用する為のマイクロソフト提供のツールです。
手元でビルドする点が、上記ALL-in-one-installerと異なる点です。
ソースをビルドするので最新版が入手可能となり、自分の環境にも合わせやすいと言うメリットがあります。
今回ご紹介する方法もVCPKGを利用した方法になります。

ちなみにインストールには30GByte以上必要となりますので、十分な空き容量を確保して下さい。

VCPKGのインストール

githubよりvcpkgをクローンしVCPKGをビルドします。

GitHubよりVCPKGのクローン

VCPKGをインストールしたいフォルダVCPKGをクローンします。
vcpkgのgithubはアドレスは以下になります。
https://github.com/microsoft/vcpkg

Gitが初めての方は以下の記事を参考にしてみて下さい。

以下はtourtoiseGitを利用した例です。
VCPKGのインストールフォルダはd:\pcl_testとしました。
1)d:\pcl_testフォルダを右クリックしGitクローンを選択します。

2)URLにvcpkgのgithubのアドレスを入力します。ディレクトリに項目は自動で入力されるはずです。
他の項目はデフォルトのままで構いません。
OKを押すとクローンが始まります。
クローンが成功するとd:\pcl_test配下にvcpkgフォルダが生成されます。

 

VCPKGのビルド

ビルド作業はPowerShell上で行います。コマンドプロンプトではありませんのでお気を付け下さい。

1)PowerShellを立ち上げます。

2)PCLをインストールしたいフォルダに移動します。本例ではd:\pcl_test

3)以下のコマンドを打ち込みます。
.

vcpkg\bootstrap-vcpkg.bat
すぐにビルドが完了します。

 

PCLのインストール

PCLのインストールもPowerShellで行います。
フォルダは移動せず(本例ではr:\pcl_test)下記コマンドを入れて下さい。
vcpkg\vcpkg.exe install pcl:x64-windows

インストールには30分~1時間ほどかかります。

Visuallizationのインストール

この状態ではまだvisualizaitionがインストールされていません。
必要に応じてこちらもインストールします。
vcpkg\vcpkg.exe install pcl[visualization]:x64-windows –recurse

vcpkg\vcpkg.exe install pcl[visualization] –triplet x86-windows –recurse

※2023年8月28日現在、コマンドが修正されたようです。
コメントを頂きましたikumiti様ありがとうございます。

 

こちらもかなり時間がかかります。

CMake

visual studioではビルド環境をソリューションと呼びますが、CMakeでこれを構築します。
通常のプログラムではVisual studioのウィザードから構築出来ますが、PCLでは必要なライブラリが多数ありますのでCMakeを利用します。

先ずはサンプルソースを作成するフォルダをpcl_test配下に作成して下さい。
ここではsampleフォルダとします。

CMakeのインストール

cmakeのホームページよりWindows用のインストーラをダウンロードし実行して下さい。
64bit版と32bit版がありますのでOSのbit数と同じバージョンを利用します。

Next


ライセンス画面です、確認してチェックを入れてNext


PATHの設定です、不要なはずですが実行時に不具合が出たら設定を有効にします


インストール先です、デフォルトで構いません。(筆者はドライブ容量の関係でDドライブにしています)


Installボタンでインストール開始します。


インストール中


インストール終了。

CMake用の環境設定

先ほど用意したsampleフォルダにCMakelists.txtとソースコードを配置しCMakeを走らせることでプロジェクトを生成します。
プロジェクト名をsampleとしソースファイルをmain.cppとします。
CMakelists.txtとmain.cppをsampleフォルダにコピーして下さい。

CMakelists.txt

CMake用の設定ファイルです。
シンプルな設定です。

2行目、project(abc)は希望するソリューション名を入れます。
この例ではabcソリューションが生成されます

7行目、add_executable (sample main.cpp)
sampleフォルダのmain.cppを指定してます。

8行目、target_link_libraries (sample ${PCL_LIBRARIES})
sampleフォルダを指定します。

上記以外の行はそのままで構いません

main.cpp

特に処理はしていない、シンプルなmain.cppを用意しました。

CMakeの実行

PowerShellでd:\pcl_test\sampleフォルダに進み以下のコマンドを入力します。

cmake -B D:\pcl_test\sample\build -DCMAKE_TOOLCHAIN_FILE=D:\pcl_test\vcpkg\scripts\buildsystems\vcpkg.cmake

簡単な説明

このような画面になればCMakeは成功です。

sampleフォルダ配下にbuileフォルダが出来ているのを確認して下さい。

 

Visual studio

これまでの作業でVisual Studioのソリューションファイルが作成されています。
今回の例ではabcソリューン。

abc.slnをクリックしてVisual studioを立ち上げます。
立ち上がったらソリューションエクスプローラーのsampleを右クリックしてスタートアッププロジェクトに設定します。

ビルドを行いエラーが無ければ成功です。

 

チュートリアルコードのコピー

PCLでは様々なチュートリアルコードが用意されています。
次の項からはそれらチュートリアルについて検証します。
チュートリアルはソースコードだけをコピーするよりPCL全体をコピーした方が簡単です。
以下のアドレスよりクローンしてご利用下さい。
https://github.com/PointCloudLibrary/pcl

チュートリアルコードは以下にあります。
pcl→doc→tutorials→content→source

サンプルデータのコピー

チュートリアルで利用するサンプルデータも事前にダウンロードしておくと便利です。
サンプルコードは以下にありますので、クローンして下さい

https://github.com/PointCloudLibrary/data

お疲れ様でした。