- 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%
While building in microsoft visual studio i get this errors:
pcl-1.8.0\visualization\src\pcl_visualizer.cpp(1495): error C2440: 'static_cast': cannot convert from 'double' to 'pcl::visualization::LookUpTableRepresentationProperties'
note: Conversions between enumeration and floating point values are no longer allowed
pcl-1.8.0\visualization\src\pcl_visualizer.cpp(1741): error C2440: 'static_cast': cannot convert from 'double' to 'pcl::visualization::LookUpTableRepresentationProperties'
note: Conversions between enumeration and floating point values are no longer allowed
Can you please help me? Is there a workaround for this type of error?