【PCL】VCPKGを使ってPoint Cloud LibraryをVisual Studioにインストール
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
お疲れ様でした。
ディスカッション
コメント一覧
執筆ありがとうございます。一つ問題が生じたので、もし解決策をご存じであるならお力を貸していただきたいです。
問題は「Visuallizationのインストール」のコマンド「vcpkg\vcpkg.exe install pcl[visualization]:x64-windows –recurse」がエラーになってしまい、visuallizationをインストールできないことです。以下にエラーメッセージを記載します。
「warning: Starting with the September 2023 release, the default triplet for vcpkg libraries will change from x86-windows to the detected host triplet (x64-windows). To resolve this message, add –triplet x86-windows to keep the same behavior.」
自分は64bit版をインストールしたいです。
またコマンドの「-recurse」の部分を「–recurse」に変更もしてみたのですが、そちらでも失敗してしまいました。
執筆ありがとうございます。記事を参考にPCLのインストールを行うことができました。
その際に1つ共有しておいた方が良いことを発見したのでコメントいたします。
2023年9月以降のリリースの場合、Visuallizationのインストールする際のコマンドは
vcpkg\vcpkg.exe install pcl[visualization]:x64-windows –recurse
から
vcpkg\vcpkg.exe install pcl[visualization] –triplet x86-windows –recurse
に変更になったらしいです(多分)
ikumiti様
返信が遅くなり申し訳ありません。
また有用な情報をありがとうございます。
本文を修正させて頂きます