- PCLをGitからクローンする。(C:\PCL-1.10.0)
https://github.com/PointCloudLibrary/pcl/tree/pcl-1.10.0
-
3rdPartyのライブラリをビルド、インストールする。
- Boost 1.72.0 https://gist.github.com/UnaNancyOwen/d879a41710e9c05025f8#file-boost1-72-0-md
- Eigen 3.3.7 https://gist.github.com/UnaNancyOwen/08e5a9b8f5979ed0077c#file-eigen3-3-7-md
- FLANN 1.9.1 https://gist.github.com/UnaNancyOwen/1e3fced09e4430ad0b7b#file-flann1-9-1-md
- QHull 2019.1 https://gist.github.com/UnaNancyOwen/ffbe6b05ee0101620d3c#file-qhull-2019-1-md
- VTK 8.2.0 https://gist.github.com/UnaNancyOwen/9d16060714ba9b28f90e#file-vtk8-2-0-md
- OpenNI 2.2.0.33 Beta http://structure.io/openni
-
3rdPartyのライブラリの環境変数を設定する。
- BOOST_ROOT C:\Program Files\Boost
- EIGEN_ROOT C:\Program Files\Eigen3
- FLANN_ROOT C:\Program Files\flann
- QHULL_ROOT C:\Program Files\qfull
- VTK_DIR C:\Program Files\VTK
-
ソースコードの入力先とソリューションファイルの出力先を指定する。
- Where is the source code: C:\PCL-1.10.0
- Where is build the binaries: C:\PCL-1.10.0\build
-
[Configure]を押してターゲットとなるVisual Studioを選択する。
-
各種設定を行う。
(GroupedとAdvancedにチェックを入れるとわかりやすい。)
Ungrouped Entries- EIGEN_INCLUDE_DIR C:\Program Files\Eigen3\include\eigen3
- VTK_DIR C:\Program Files\VTK\lib\cmake\vtk-8.2
BUILD
- BUILD_2d ☑(check)
- BUILD_CUDA ☐(uncheck)
- BUILD_GPU ☐(uncheck)
- BUILD_all_in_one_installer ☑(check)*1
- BUILD_apps ☐(uncheck)
- BUILD_common ☑(check)
- BUILD_example ☐(uncheck)
- BUILD_features ☑(check)
- BUILD_filters ☑(check)
- BUILD_geometry ☑(check)
- BUILD_global_tests ☐(uncheck)
- BUILD_io ☑(check)
- BUILD_kdtree ☑(check)
- BUILD_keypoints ☑(check)
- BUILD_ml ☑(check)
- BUILD_octree ☑(check)
- BUILD_outofcore ☑(check)
- BUILD_people ☑(check)
- BUILD_recognition ☑(check)
- BUILD_registration ☑(check)
- BUILD_sample_consensus ☑(check)
- BUILD_search ☑(check)
- BUILD_segmentation ☑(check)
- BUILD_simulation ☐(uncheck)
- BUILD_stereo ☑(check)
- BUILD_surface ☑(check)
- BUILD_surface_on_nurbs ☑(check)
- BUILD_tools ☑(check)*2
- BUILD_tracking ☑(check)
- BUILD_visualization ☑(check)
*1 INSTALLプロジェクトをビルドしたとき<CMAKE_INSTALL_PREFIX>(C:\Program Files\PCL)に指定したディレクトリにPCLと3rdPartyがコピーされる。
*2 ビルドに時間がかかるため、各種ツール類(bin\pcl_*.exe)が必要でなければチェックを外す。Boost
- Boost_ATOMIC_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_atomic-vc142-mt-gd-1_72.lib
- Boost_ATOMIC_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_atomic-vc142-mt-1_72.lib
- Boost_CHRONO_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_chrono-vc142-mt-gd-1_72.lib
- Boost_CHRONO_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_chrono-vc142-mt-1_72.lib
- Boost_DATE_TIME_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_date_time-vc142-mt-gd-1_72.lib
- Boost_DATE_TIME_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_date_time-vc142-mt-1_72.lib
- Boost_FILESYSTEM_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_filesystem-vc142-mt-gd-1_72.lib
- Boost_FILESYSTEM_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_filesystem-vc142-mt-1_72.lib
- Boost_INCLUDE_DIR C:\Program Files\Boost\include\boost-1_72
- Boost_IOSTREAMS_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_iostreams-vc142-mt-gd-1_72.lib
- Boost_IOSTREAMS_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_iostreams-vc142-mt-1_72.lib
- Boost_LIBRARY_DIR_DEBUG C:\Program Files\Boost\lib
- Boost_LIBRARY_DIR_RELEASE C:\Program Files\Boost\lib
- Boost_MPI_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_mpi-vc142-mt-gd-1_72.lib
- Boost_MPI_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_mpi-vc142-mt-1_72.lib
- Boost_REGEX_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_regex-vc142-mt-gd-1_72.lib
- Boost_REGEX_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_regex-vc142-mt-1_72.lib
- Boost_SERIALIZATION_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_serialization-vc142-mt-gd-1_72.lib
- Boost_SERIALIZATION_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_serialization-vc142-mt-1_72.lib
- Boost_SYSTEM_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_system-vc142-mt-gd-1_72.lib
- Boost_SYSTEM_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_system-vc142-mt-1_72.lib
- Boost_THREAD_LIBRARY_DEBUG C:\Program Files\Boost\lib\libboost_thread-vc142-mt-gd-1_72.lib
- Boost_THREAD_LIBRARY_RELEASE C:\Program Files\Boost\lib\libboost_thread-vc142-mt-1_72.lib
CMAKE
- CMAKE_CONFIGURATION_TYPES Debug;Release
- CMAKE_INSTALL_PREFIX C:\Program Files\PCL
FLANN
- FLANN_INCLUDE_DIR C:\Program Files\flann\include
- FLANN_LIBRARY C:\Program Files\flann\lib\flann_cpp_s.lib
- FLANN_LIBRARY_DEBUG C:\Program Files\flann\lib\flann_cpp_s-gd.lib
OPENNI2
- OPENNI2_INCLUDE_DIRS C:\Program Files\OpenNI2\Include
- OPENNI2_LIBRARY C:\Program Files\OpenNI2\Lib\OpenNI2
QHULL
- QHULL_INCLUDE_DIR C:\Program Files\qhull\include
- QHULL_LIBRARY C:\Program Files\qhull\lib\qhullstatic.lib
- QHULL_LIBRARY_DEBUG C:\Program Files\qhull\lib\qhullstatic_d.lib
WITH
- WITH_CUDA ☐(uncheck)
- WITH_DAVIDSDK ☐(uncheck)
- WITH_DOCS ☐(uncheck)
- WITH_DSSDK ☐(uncheck)
- WITH_ENSENSO ☐(uncheck)
- WITH_FZAPI ☐(uncheck)
- WITH_LIBUSB ☐(uncheck)
- WITH_OPENGL ☑(check)
- WITH_OPENNI ☐(uncheck)
- WITH_OPENNI2 ☑(check)
- WITH_PCAP ☐(uncheck)
- WITH_PNG ☐(uncheck)
- WITH_QHULL ☑(check)
- WITH_QT ☐(uncheck)
- WITH_RSSDK ☐(uncheck)
- WITH_VTK ☑(check)
-
設定内容を確認する。
- Boost version: 1.72.0
Found the following Boost libraries:
system
filesystem
thread
date_time
iostreams
chrono
atomic
regex - Eigen found (include: C:/Program Files/Eigen/include/eigen3, version: 3.3.7)
- FLANN found (include: C:/Program Files/flann/include, lib: optimized;C:/Program Files/flann/lib/flann_cpp_s.lib;debug;C:/Program Files/flann/lib/flann_cpp_s-gd.lib)
- QHULL found (include: C:/Program Files/qhull/include, lib: optimized;C:/Program Files/qhull/lib/qhullstatic.lib;debug;C:/Program Files/qhull/lib/qhullstatic_d.lib)
- VTK_MAJOR_VERSION 8, rendering backend: OpenGL
VTK found (include: C:/Program Files/VTK/include/vtk-8.2, libs: vtkChartsCore;vtkCommonColor;vtkCommonCore;vtksys;vtkCommonDataModel;vtkCommonMath;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkCommonExecutionModel;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersCore;vtkInfovisCore;vtkFiltersExtraction;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkRenderingContext2D;vtkRenderingCore;vtkFiltersGeometry;vtkFiltersSources;vtkRenderingFreeType;vtkfreetype;vtkzlib;vtkFiltersModeling;vtkImagingSources;vtkInteractionStyle;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingColor;vtkImagingGeneral;vtkImagingHybrid;vtkIOImage;vtkDICOMParser;vtkmetaio;vtkjpeg;vtkpng;vtktiff;vtkRenderingAnnotation;vtkRenderingVolume;vtkIOXML;vtkIOCore;vtkdoubleconversion;vtklz4;vtklzma;vtkIOXMLParser;vtkexpat;vtkIOGeometry;vtkIOLegacy;vtkIOPLY;vtkRenderingLOD;vtkViewsContext2D;vtkViewsCore;vtkRenderingContextOpenGL2;vtkRenderingOpenGL2;vtkglew - OpenNI 2 found (include: C:/Program Files/OpenNI2/Include, lib: C:/Program Files/OpenNI2/Lib/OpenNI2.lib, redist: C:\Program Files\OpenNI2\Redist)
- Boost version: 1.72.0
-
[Generate]を押してソリューションファイルを出力する。
-
Visual Studioを管理者権限で起動してPCLのソリューションファイル(C:\PCL-1.10.0\build\PCL.sln)を開く。
(Visual Studioを管理者権限で起動しないとINSTALLが失敗する。) -
PCLをビルドする。(ALL_BUILD)
- ソリューションの構成(Debug, Release)を設定する。
- ソリューションエクスプローラーからALL_BUILDプロジェクトを選択する。
- [ビルド]>[ソリューションのビルド]を押してPCLをビルドする。
-
PCLをインストールする。(INSTALL)
- ソリューションエクスプローラーからINSTALLプロジェクトを選択する。
- [ビルド]>[プロジェクトのみ]>[INSTALLのみをビルド]を押してPCLをインストールする。
CMAKE_INSTALL_PREFIXで指定した出力先へ必要なファイルがコピーされる。
-
環境変数PCL_ROOTを作成してPCLのパス(C:\Program Files\PCL)を設定する。
-
環境変数PathにPCLと3rdPartyのパスを追加する。
- ;%PCL_ROOT%\bin
- ;%PCL_ROOT%\3rdPrty\VTK\bin
- ;%OPENNI2_REDIST64%
Hi UnaNancyOwen,
Thank you for a detailed procedure. I would like to know if PCL can be used with VB.NET? As we would like to link PCL with our existing .NET projects, we would like to develop PCL program in .NET environment. Looking forward for your help.
Regards,
Raghav