- 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 there,
Just a quick heads up to anyone trapped with a confusing error complaining opengl.lib cannot be found during the BUILD_ALL in VS.
The error makes reference to your configuration of VTK in CMake. Many build guides will insist on renaming opengl32 to just opengl under the OPENGL category when configuring in CMake. However, this can cause build problems for PCL depending on your environment.
Hope this helped someone!