VS2015+PCL1.8.1 environment configuration

Posted by homerjsimpson on Fri, 04 Mar 2022 17:46:04 +0100

Catalogue

​​​​​​1.1 download resource package

1.2 installation of PCL|OpenNI2

1.3 configure pcl1 in vs2015 environment eight point one

Release configuration

Configuration under Debug

1.4 testing

CMake compilation

VS2015 compilation

Series error

Problem to be solved!

Rotten

1.5 description

1.6 References:

Attachment: PCL download website:

1.1 download resource package

vs2015 is installed by default

vs download address: https://my.visualstudio.com/Downloads

need:

  • ① Download address of All in one installation package: http: / / pointclouds org/downloads/windows. html

  • ② PDB package download address corresponding to all in one package: https://github.com/PointCloudLibrary/pcl/releases

  • ③ Download address of PCL source package: HTTPS: / / GitHub com/PointCloudLibrary/pcl

  • ④ CMake

① ② download address of installation package: Point Cloud Library 1.8.1 has been released – Summary?Blog

1.2 installation of PCL|OpenNI2

Select PCL-1.8.1-AllInOne-msvc2015-win64_3. Install the package. Right click to run as administrator;

Select the second one and Add PCL to the system PATH for all users;

Select the installation location;

Default to next step;

Select the installed components. All are selected by default;

Wait;

During installation, prompt to install openni2 two

Some later said that OpenNI2 is too high. It is recommended that the low version and the high version of personal testing have no impact, so both high and low versions are OK

Change the installation path, set the installation path to the 3rdParty folder in the PCL installation path, that is, D:\Program Files\PCL 1.8.1rdParty \, and then Install;

Pop up prompt: select installation

Finish

Prompt path too long Never mind, just make sure;

Complete the installation;

Enter advanced system settings and view environment variables;

These four environmental variables appear;

Double click Path to edit the environment variable;

Create the following environment variables:;

<span style="background-color:#f5f6f7"><span style="color:#1f2329"> %PCL_ROOT%\3rdParty\FLANN\bin
 ​
 %PCL_ROOT%\3rdParty\Qhull\bin
 ​
 %PCL_ROOT%\3rdParty\OpenNI2\Tools
 ​
 %PCL_ROOT%\3rdParty\VTK\bin </span></span>

Unzip the downloaded pcl-1.8.1-pdb-msvc2015-win64 folder, and copy all the PDB files into the bin folder of the PCL installation path. My name is D:\Program Files\PCL 1.8.1\bin

According to the above content of pcl point cloud library from getting started to mastering, CMake is used to test here, but there will be problems in the test:

I found this online, but it doesn't seem to matter. Put this one first:

CMake error: error in configuration process, project files may be invalid_lsxpu's column - CSDN blog

CMake

Download: Official Website: Download | CMake The installation is very simple. Just pay attention to adding environment variables automatically during installation

use:

https://blog.csdn.net/finghting321/article/details

Wait for specific use and then add it!

1.3 configure pcl1 in vs2015 environment eight point one

Open vs2015, create a new project, select new Win32 console application, and name it PCL_env_set.cpp name optional

Then find view - Other windows - property manager and open the property manager

Right click on the release|x64 folder to add a new project attribute table, named PCLRelease64;

Similarly, add a new project attribute table under Debug|x64, named PCLDebug64;

Release configuration

Double click PCLRelease64 to pop up the property page, and select the VC + + directory on the left

On the right, add the following path in the include directory and Library Directory [the path should match your installation location]

Include directory

<span style="background-color:#f5f6f7"><span style="color:#1f2329"> D:\Program Files\PCL 1.8.1\include\pcl-1.8
 D:\Program Files\PCL 1.8.1\3rdParty\Boost\include\boost-1_64
 D:\Program Files\PCL 1.8.1\3rdParty\Eigen\eigen3
 D:\Program Files\PCL 1.8.1\3rdParty\FLANN\include
 D:\Program Files\PCL 1.8.1\3rdParty\Qhull\include
 D:\Program Files\PCL 1.8.1\3rdParty\VTK\include\vtk-8.0
 D:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\include</span></span>

Note: there is no include folder in OpenNI2 folder. It needs to be solved here. At present, it is written according to the tutorial

Library Directory

<span style="background-color:#f5f6f7"><span style="color:#1f2329"> D:\Program Files\PCL 1.8.1\lib
 D:\Program Files\PCL 1.8.1\3rdParty\VTK\lib
 D:\Program Files\PCL 1.8.1\3rdParty\Boost\lib
 D:\Program Files\PCL 1.8.1\3rdParty\FLANN\lib
 D:\Program Files\PCL 1.8.1\3rdParty\Qhull\lib
 D:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\Lib </span></span>

Note: there is no Lib folder in OpenNI2 folder. It needs to be solved here. At present, it is written according to the tutorial

The problem remains to be solved

terms of settlement:

Inspired by this blog, I tried to uninstall and reinstall OpenNI

openni cannot be installed normally during PCL installation_ Fangzhou Jianghu blog - CSDN blog

This problem can be solved by unloading and reloading!!!

After reinstallation:

At this time, go back to the path setting of the included directory and Library Directory above!

Re select the path of OPenNI!

Double click pclrelase64 to find the linker input attach dependency library on the left

Add the following to the dependency

<span style="background-color:#f5f6f7"><span style="color:#1f2329"> shell32.lib
 vtknetcdf_c++.lib
 pcl_common_release.lib
 pcl_features_release.lib
 pcl_filters_release.lib
 pcl_io_ply_release.lib
 pcl_io_release.lib
 pcl_kdtree_release.lib
 pcl_keypoints_release.lib
 pcl_ml_release.lib
 pcl_octree_release.lib
 pcl_outofcore_release.lib
 pcl_people_release.lib
 pcl_recognition_release.lib
 pcl_registration_release.lib
 pcl_sample_consensus_release.lib
 pcl_search_release.lib
 pcl_segmentation_release.lib
 pcl_stereo_release.lib
 pcl_surface_release.lib
 pcl_tracking_release.lib
 pcl_visualization_release.lib
 libboost_atomic-vc140-mt-1_64.lib
 libboost_bzip2-vc140-mt-1_64.lib
 libboost_chrono-vc140-mt-1_64.lib
 libboost_container-vc140-mt-1_64.lib
 libboost_context-vc140-mt-1_64.lib
 libboost_coroutine-vc140-mt-1_64.lib
 libboost_date_time-vc140-mt-1_64.lib
 libboost_exception-vc140-mt-1_64.lib
 libboost_fiber-vc140-mt-1_64.lib
 libboost_filesystem-vc140-mt-1_64.lib
 libboost_graph-vc140-mt-1_64.lib
 libboost_graph_parallel-vc140-mt-1_64.lib
 libboost_iostreams-vc140-mt-1_64.lib
 libboost_locale-vc140-mt-1_64.lib
 libboost_log-vc140-mt-1_64.lib
 libboost_log_setup-vc140-mt-1_64.lib
 libboost_math_c99-vc140-mt-1_64.lib
 libboost_math_c99f-vc140-mt-1_64.lib
 libboost_math_c99l-vc140-mt-1_64.lib
 libboost_math_tr1-vc140-mt-1_64.lib
 libboost_math_tr1f-vc140-mt-1_64.lib
 libboost_math_tr1l-vc140-mt-1_64.lib
 libboost_mpi-vc140-mt-1_64.lib
 libboost_numpy3-vc140-mt-1_64.lib
 libboost_numpy-vc140-mt-1_64.lib
 libboost_prg_exec_monitor-vc140-mt-1_64.lib
 libboost_program_options-vc140-mt-1_64.lib
 libboost_python3-vc140-mt-1_64.lib
 libboost_python-vc140-mt-1_64.lib
 libboost_random-vc140-mt-1_64.lib
 libboost_regex-vc140-mt-1_64.lib
 libboost_serialization-vc140-mt-1_64.lib
 libboost_signals-vc140-mt-1_64.lib
 libboost_system-vc140-mt-1_64.lib
 libboost_test_exec_monitor-vc140-mt-1_64.lib
 libboost_thread-vc140-mt-1_64.lib
 libboost_timer-vc140-mt-1_64.lib
 libboost_type_erasure-vc140-mt-1_64.lib
 libboost_unit_test_framework-vc140-mt-1_64.lib
 libboost_wave-vc140-mt-1_64.lib
 libboost_wserialization-vc140-mt-1_64.lib
 libboost_zlib-vc140-mt-1_64.lib
 flann.lib
 flann_cpp.lib
 flann_cpp_s.lib
 flann_s.lib
 qhull_d.lib
 qhullcpp_d.lib
 qhullstatic_d.lib
 qhullstatic_r_d.lib
 qhull_p_d.lib
 qhull_r_d.lib
 vtkalglib-8.0.lib
 vtkChartsCore-8.0.lib
 vtkCommonColor-8.0.lib
 vtkCommonComputationalGeometry-8.0.lib
 vtkCommonCore-8.0.lib
 vtkCommonDataModel-8.0.lib
 vtkCommonExecutionModel-8.0.lib
 vtkCommonMath-8.0.lib
 vtkCommonMisc-8.0.lib
 vtkCommonSystem-8.0.lib
 vtkCommonTransforms-8.0.lib
 vtkDICOMParser-8.0.lib
 vtkDomainsChemistry-8.0.lib
 vtkexoIIc-8.0.lib
 vtkexpat-8.0.lib
 vtkFiltersAMR-8.0.lib
 vtkFiltersCore-8.0.lib
 vtkFiltersExtraction-8.0.lib
 vtkFiltersFlowPaths-8.0.lib
 vtkFiltersGeneral-8.0.lib
 vtkFiltersGeneric-8.0.lib
 vtkFiltersGeometry-8.0.lib
 vtkFiltersHybrid-8.0.lib
 vtkFiltersHyperTree-8.0.lib
 vtkFiltersImaging-8.0.lib
 vtkFiltersModeling-8.0.lib
 vtkFiltersParallel-8.0.lib
 vtkFiltersParallelImaging-8.0.lib
 vtkFiltersPoints-8.0.lib
 vtkFiltersProgrammable-8.0.lib
 vtkFiltersSelection-8.0.lib
 vtkFiltersSMP-8.0.lib
 vtkFiltersSources-8.0.lib
 vtkFiltersStatistics-8.0.lib
 vtkFiltersTexture-8.0.lib
 vtkFiltersTopology-8.0.lib
 vtkFiltersVerdict-8.0.lib
 vtkfreetype-8.0.lib
 vtkGeovisCore-8.0.lib
 vtkgl2ps-8.0.lib
 vtkhdf5-8.0.lib
 vtkhdf5_hl-8.0.lib
 vtkImagingColor-8.0.lib
 vtkImagingCore-8.0.lib
 vtkImagingFourier-8.0.lib
 vtkImagingGeneral-8.0.lib
 vtkImagingHybrid-8.0.lib
 vtkImagingMath-8.0.lib
 vtkImagingMorphological-8.0.lib
 vtkImagingSources-8.0.lib
 vtkImagingStatistics-8.0.lib
 vtkImagingStencil-8.0.lib
 vtkInfovisCore-8.0.lib
 vtkInfovisLayout-8.0.lib
 vtkInteractionImage-8.0.lib
 vtkInteractionStyle-8.0.lib
 vtkInteractionWidgets-8.0.lib
 vtkIOAMR-8.0.lib
 vtkIOCore-8.0.lib
 vtkIOEnSight-8.0.lib
 vtkIOExodus-8.0.lib
 vtkIOExport-8.0.lib
 vtkIOExportOpenGL-8.0.lib
 vtkIOGeometry-8.0.lib
 vtkIOImage-8.0.lib
 vtkIOImport-8.0.lib
 vtkIOInfovis-8.0.lib
 vtkIOLegacy-8.0.lib
 vtkIOLSDyna-8.0.lib
 vtkIOMINC-8.0.lib
 vtkIOMovie-8.0.lib
 vtkIONetCDF-8.0.lib
 vtkIOParallel-8.0.lib
 vtkIOParallelXML-8.0.lib
 vtkIOPLY-8.0.lib
 vtkIOSQL-8.0.lib
 vtkIOTecplotTable-8.0.lib
 vtkIOVideo-8.0.lib
 vtkIOXML-8.0.lib
 vtkIOXMLParser-8.0.lib
 vtkjpeg-8.0.lib
 vtkjsoncpp-8.0.lib
 vtklibharu-8.0.lib
 vtklibxml2-8.0.lib
 vtklz4-8.0.lib
 vtkmetaio-8.0.lib
 vtkNetCDF-8.0.lib
 vtkoggtheora-8.0.lib
 vtkParallelCore-8.0.lib
 vtkpng-8.0.lib
 vtkproj4-8.0.lib
 vtkRenderingAnnotation-8.0.lib
 vtkRenderingContext2D-8.0.lib
 vtkRenderingContextOpenGL-8.0.lib
 vtkRenderingCore-8.0.lib
 vtkRenderingFreeType-8.0.lib
 vtkRenderingGL2PS-8.0.lib
 vtkRenderingImage-8.0.lib
 vtkRenderingLabel-8.0.lib
 vtkRenderingLIC-8.0.lib
 vtkRenderingLOD-8.0.lib
 vtkRenderingOpenGL-8.0.lib
 vtkRenderingVolume-8.0.lib
 vtkRenderingVolumeOpenGL-8.0.lib
 vtksqlite-8.0.lib
 vtksys-8.0.lib
 vtktiff-8.0.lib
 vtkverdict-8.0.lib
 vtkViewsContext2D-8.0.lib
 vtkViewsCore-8.0.lib
 vtkViewsInfovis-8.0.lib
 vtkzlib-8.0.lib
 opengl32.lib</span></span>

Configuration under Debug

The included directory and Library Directory of vc + + configured under Debug are the same as those under Release

Additional dependencies are different:

<span style="background-color:#f5f6f7"><span style="color:#1f2329"> shell32.lib
 vtknetcdf_c++.lib
 pcl_common_debug.lib
 pcl_features_debug.lib
 pcl_filters_debug.lib
 pcl_io_debug.lib
 pcl_io_ply_debug.lib
 pcl_kdtree_debug.lib
 pcl_keypoints_debug.lib
 pcl_ml_debug.lib
 pcl_octree_debug.lib
 pcl_outofcore_debug.lib
 pcl_people_debug.lib
 pcl_recognition_debug.lib
 pcl_registration_debug.lib
 pcl_sample_consensus_debug.lib
 pcl_search_debug.lib
 pcl_segmentation_debug.lib
 pcl_stereo_debug.lib
 pcl_surface_debug.lib
 pcl_tracking_debug.lib
 pcl_visualization_debug.lib
 libboost_atomic-vc140-mt-1_64.lib
 libboost_bzip2-vc140-mt-1_64.lib
 libboost_chrono-vc140-mt-1_64.lib
 libboost_container-vc140-mt-1_64.lib
 libboost_context-vc140-mt-1_64.lib
 libboost_coroutine-vc140-mt-1_64.lib
 libboost_date_time-vc140-mt-1_64.lib
 libboost_exception-vc140-mt-1_64.lib
 libboost_fiber-vc140-mt-1_64.lib
 libboost_filesystem-vc140-mt-1_64.lib
 libboost_graph-vc140-mt-1_64.lib
 libboost_graph_parallel-vc140-mt-1_64.lib
 libboost_iostreams-vc140-mt-1_64.lib
 libboost_locale-vc140-mt-1_64.lib
 libboost_log-vc140-mt-1_64.lib
 libboost_log_setup-vc140-mt-1_64.lib
 libboost_math_c99-vc140-mt-1_64.lib
 libboost_math_c99f-vc140-mt-1_64.lib
 libboost_math_c99l-vc140-mt-1_64.lib
 libboost_math_tr1-vc140-mt-1_64.lib
 libboost_math_tr1f-vc140-mt-1_64.lib
 libboost_math_tr1l-vc140-mt-1_64.lib
 libboost_mpi-vc140-mt-1_64.lib
 libboost_numpy3-vc140-mt-1_64.lib
 libboost_numpy-vc140-mt-1_64.lib
 libboost_prg_exec_monitor-vc140-mt-1_64.lib
 libboost_program_options-vc140-mt-1_64.lib
 libboost_python3-vc140-mt-1_64.lib
 libboost_python-vc140-mt-1_64.lib
 libboost_random-vc140-mt-1_64.lib
 libboost_regex-vc140-mt-1_64.lib
 libboost_serialization-vc140-mt-1_64.lib
 libboost_signals-vc140-mt-1_64.lib
 libboost_system-vc140-mt-1_64.lib
 libboost_test_exec_monitor-vc140-mt-1_64.lib
 libboost_thread-vc140-mt-1_64.lib
 libboost_timer-vc140-mt-1_64.lib
 libboost_type_erasure-vc140-mt-1_64.lib
 libboost_unit_test_framework-vc140-mt-1_64.lib
 libboost_wave-vc140-mt-1_64.lib
 libboost_wserialization-vc140-mt-1_64.lib
 libboost_zlib-vc140-mt-1_64.lib
 flann.lib
 flann_cpp.lib
 flann_cpp_s.lib
 flann_s.lib
 qhull_d.lib
 qhullcpp_d.lib
 qhullstatic_d.lib
 qhullstatic_r_d.lib
 qhull_p_d.lib
 qhull_r_d.lib
 vtkalglib-8.0.lib
 vtkChartsCore-8.0.lib
 vtkCommonColor-8.0.lib
 vtkCommonComputationalGeometry-8.0.lib
 vtkCommonCore-8.0.lib
 vtkCommonDataModel-8.0.lib
 vtkCommonExecutionModel-8.0.lib
 vtkCommonMath-8.0.lib
 vtkCommonMisc-8.0.lib
 vtkCommonSystem-8.0.lib
 vtkCommonTransforms-8.0.lib
 vtkDICOMParser-8.0.lib
 vtkDomainsChemistry-8.0.lib
 vtkexoIIc-8.0.lib
 vtkexpat-8.0.lib
 vtkFiltersAMR-8.0.lib
 vtkFiltersCore-8.0.lib
 vtkFiltersExtraction-8.0.lib
 vtkFiltersFlowPaths-8.0.lib
 vtkFiltersGeneral-8.0.lib
 vtkFiltersGeneric-8.0.lib
 vtkFiltersGeometry-8.0.lib
 vtkFiltersHybrid-8.0.lib
 vtkFiltersHyperTree-8.0.lib
 vtkFiltersImaging-8.0.lib
 vtkFiltersModeling-8.0.lib
 vtkFiltersParallel-8.0.lib
 vtkFiltersParallelImaging-8.0.lib
 vtkFiltersPoints-8.0.lib
 vtkFiltersProgrammable-8.0.lib
 vtkFiltersSelection-8.0.lib
 vtkFiltersSMP-8.0.lib
 vtkFiltersSources-8.0.lib
 vtkFiltersStatistics-8.0.lib
 vtkFiltersTexture-8.0.lib
 vtkFiltersTopology-8.0.lib
 vtkFiltersVerdict-8.0.lib
 vtkfreetype-8.0.lib
 vtkGeovisCore-8.0.lib
 vtkgl2ps-8.0.lib
 vtkhdf5-8.0.lib
 vtkhdf5_hl-8.0.lib
 vtkImagingColor-8.0.lib
 vtkImagingCore-8.0.lib
 vtkImagingFourier-8.0.lib
 vtkImagingGeneral-8.0.lib
 vtkImagingHybrid-8.0.lib
 vtkImagingMath-8.0.lib
 vtkImagingMorphological-8.0.lib
 vtkImagingSources-8.0.lib
 vtkImagingStatistics-8.0.lib
 vtkImagingStencil-8.0.lib
 vtkInfovisCore-8.0.lib
 vtkInfovisLayout-8.0.lib
 vtkInteractionImage-8.0.lib
 vtkInteractionStyle-8.0.lib
 vtkInteractionWidgets-8.0.lib
 vtkIOAMR-8.0.lib
 vtkIOCore-8.0.lib
 vtkIOEnSight-8.0.lib
 vtkIOExodus-8.0.lib
 vtkIOExport-8.0.lib
 vtkIOExportOpenGL-8.0.lib
 vtkIOGeometry-8.0.lib
 vtkIOImage-8.0.lib
 vtkIOImport-8.0.lib
 vtkIOInfovis-8.0.lib
 vtkIOLegacy-8.0.lib
 vtkIOLSDyna-8.0.lib
 vtkIOMINC-8.0.lib
 vtkIOMovie-8.0.lib
 vtkIONetCDF-8.0.lib
 vtkIOParallel-8.0.lib
 vtkIOParallelXML-8.0.lib
 vtkIOPLY-8.0.lib
 vtkIOSQL-8.0.lib
 vtkIOTecplotTable-8.0.lib
 vtkIOVideo-8.0.lib
 vtkIOXML-8.0.lib
 vtkIOXMLParser-8.0.lib
 vtkjpeg-8.0.lib
 vtkjsoncpp-8.0.lib
 vtklibharu-8.0.lib
 vtklibxml2-8.0.lib
 vtklz4-8.0.lib
 vtkmetaio-8.0.lib
 vtkNetCDF-8.0.lib
 vtkoggtheora-8.0.lib
 vtkParallelCore-8.0.lib
 vtkpng-8.0.lib
 vtkproj4-8.0.lib
 vtkRenderingAnnotation-8.0.lib
 vtkRenderingContext2D-8.0.lib
 vtkRenderingContextOpenGL-8.0.lib
 vtkRenderingCore-8.0.lib
 vtkRenderingFreeType-8.0.lib
 vtkRenderingGL2PS-8.0.lib
 vtkRenderingImage-8.0.lib
 vtkRenderingLabel-8.0.lib
 vtkRenderingLIC-8.0.lib
 vtkRenderingLOD-8.0.lib
 vtkRenderingOpenGL-8.0.lib
 vtkRenderingVolume-8.0.lib
 vtkRenderingVolumeOpenGL-8.0.lib
 vtksqlite-8.0.lib
 vtksys-8.0.lib
 vtktiff-8.0.lib
 vtkverdict-8.0.lib
 vtkViewsContext2D-8.0.lib
 vtkViewsCore-8.0.lib
 vtkViewsInfovis-8.0.lib
 vtkzlib-8.0.lib
 opengl32.lib</span></span>

Click the preprocessor in the C/C + + option in the PCLDebug64 property page to edit the preprocessor definition;

Set reference source here:

02VS2017 installing and configuring PCL1-8-1-Windows-PCL-development environment · YuQue (yuque.com)

Add the following command:

<span style="background-color:#f5f6f7"><span style="color:#1f2329"> _CRT_SECURE_NO_WARNINGS
 _SCL_SECURE_NO_WARNINGS
 _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING</span></span>

Configuration complete

1.4 testing

Because the test of the network tutorial is not provided with full files, so:

Test method via page 24 of PCL point cloud library from introduction to mastery

CMake compilation

Create two files, the source program file and the cmake configuration file cmakelist Txt, put the two files in the same folder source, and create cmake in the same directory of source_ Bin folder

<PCL Point cloud library from getting started to Mastering Chapter 2 Section 1 source program files and cmake configuration file CMakeList.txt Source code of

Open the CMake program and set the source file directory and compilation directory, as shown in the figure:

Click Generate and select visual studio 14 2015 win64;

 

Click Finish, then click Configure and production, and wait:

Wait for done

VS2015 compilation

Open the cmake you just created_ Get project files from bin folder

Open the project file selected in the above figure to generate exe file, as shown in the figure

[there will be an error when compiling according to the code in the book. The error code is c2664. The problem lies in the code in the source file. Xiaobai one. Elder martial brother helped me solve it. Reference: PCL uses ConditionalRemoval to remove outliers and resolve error reports_ Islander HAOGE's blog - CSDN blog]

Temporary storage of adjusted Code:

<span style="background-color:#f5f6f7"><span style="color:#1f2329"> #include <pcl/point_types.h>
  #include <pcl/io/pcd_io.h>
  #include <pcl/kdtree/kdtree_flann.h>
  #include <pcl/filters/bilateral.h>
 ​
 typedef pcl::PointXYZI PointT;
 ​
 int
 main (int argc, char*argv[])
  {
 std::string incloudfile = argv[1];
 std::string outcloudfile = argv[2];
 float sigma_s = atof (argv[3]);
 float sigma_r = atof (argv[4]);
 ​
 // Read in point cloud file
    pcl::PointCloud<PointT>::Ptr cloud (new pcl::PointCloud<PointT>);
 pcl::io::loadPCDFile (incloudfile.c_str (), *cloud);
 ​
    pcl::PointCloud<PointT>outcloud;
 ​
 // Create kdtree
    //pcl::KdTreeFLANN<PointT>::Ptr tree (new pcl::KdTreeFLANN<PointT>);
    pcl::search::KdTree<PointT>::Ptr tree(new pcl::search::KdTree<PointT>);
    pcl::BilateralFilter<PointT> bf;
    bf.setInputCloud (cloud);
    bf.setSearchMethod (tree);
    bf.setHalfSize (sigma_s);
    bf.setStdDev (sigma_r);
    bf.filter (outcloud);
 ​
 // Save the filtered output point cloud file
 pcl::io::savePCDFile (outcloudfile.c_str (), outcloud);
 return (0);
  }
 ​</span></span>

Open cmd cd to compile the output exe file directory, run the program file,

Series error

An error occurred:

Locate pcl in the pcl installation directory_ common_ debug. Copy DLL to the project directory

pcl_common_debug.dll file should be found in D:\Program Files\PCL 1.8.1\bin directory

Re run;

Error continuing:

Error:

Error:

Install all directories under. pcl Copy all dll files to exe directory at the same level:

Another mistake?

Find the PCL installation directory D:\Program Files\PCL 1.8.1rdParty\OpenNI2\Tools

Will be missing Copy dll file to exe program sibling directory

Error:

//Translated roughly as follows:
 ​
Debugging failed</span>
 ​
Expression: invalid null pointer
 ​
For information on how a program causes failure, see the for assertions VisualC++file.

Problem to be solved!

Let's find an online test:

02VS2017 installing and configuring PCL1-8-1-Windows-PCL-development environment · YuQue (yuque.com)

Copy the downloaded pcb file to the previously configured folder here Click jump

Copy the source code to the new cpp file

Debugging, prompting that the PDB file cannot be found or opened.

I tried to find a solution online, but I didn't feel very good. Put the link:

Loaded 'C:\Windows\System32\ntdll.dll'. Unable to find or open PDB file. Solution_ Let thoughts travel blog - CSDN blog

Although there is no error, the generated exe program cannot run

Then in the comment area, you can see that you press ctr+F5 When debugging visual studio, you will be prompted that "C:\Windows\SysWOW64\ntdll.dll" has been loaded. Unable to find or open PDB file_ win_turn blog - CSDN blog

After trying, it seems a little hopeful. Follow the prompt to add #include "stdafx.h"

Ctrl+F5 try

nm...d...

Please, don't do it

Rotten

The above problems can't be solved. When it's bad, try compiling in VS2015 again, which is this step Click jump

Error:

Tips:

Why did you make another mistake?

Then start compiling from CMake again

Click jump

Compilation result:

Don't all write success, 1, failure, 0, skip 1

How can there be such a mistake?

report errors:

Anyway, it should open anyway exe file

Try it

Error: missing as above dll

The solution is the same as above. Fortunately, I put all the last copy before deleting it dll is saved in a folder

... Not saved

Then take your time

Take the missing one dll file in exe program under the same level directory

function

History is always surprisingly similar, or the original mistake, it must be solved!

The solution is an update here: Click jump

1.5 description

How to add a saved property sheet when opening a new vs project next time

Click View - > Other windows - > Property Manager

Right click Debug | x64, select "add existing property sheet", and select pcld64propertysheet. Under the PCL installation directory props;

Right click Release | x64, select Add existing property sheet, and select pclr64propertysheet. Under the PCL installation directory props;

Here, you need to remember the folder created during configuration. Mine is

D:\Visual Studio2015_PCL\PCL_environment\PCL_env_set.cpp\PCL_env_set.cpp

Click View - > Solution Explorer to return to the project.

 

1.6 References:

[PCL point cloud library] win10 + vs2015 + pcl1 8.1 configuration_ su_fan's blog - CSDN blog

win10+vs2015+pcl1.8.1 installation configuration_ u013925378 blog - CSDN blog_ pcl vs2015

02VS2017 installing and configuring PCL1-8-1-Windows-PCL-development environment · YuQue (yuque.com)

PCL learning: use cmd to test the installation prompt. Unable to find pcl_common_debug.dll_zfjBIT column - CSDN blog

PCL installation - win10 + vs2017 + pcl1 8.1 (I)_ xiaopi3 blog - CSDN blog

We have hundreds of web pages, and put some of them with the most references

Attachment: PCL download website:

1.8.1-vs2015_x64 Point Cloud Library 1.8.1 has been released – Summary?Blog

1.9.0-vs2017_x64 Point Cloud Library 1.9.0 has been released – Summary?Blog

Topics: C++ Visual Studio