PCL1.8.1 configuration VS2017 (20% original)

Software preparation:

Download the PCL library: http://pointclouds.org, this is the official website of PCL, the download speed is relatively fast, it is recommended to download from the official website. Click Dev Zone on the homepage. (The troublesome friends can download from my cloud disk, version: PCL-1.8.1-AllInOne-msvc2017-win64.exe, pcl-1.8.1-pdb-msvc2017-win64.zip and the rabbit used in the following examples. The pcd file and the dynamic library needed after the error is reported. Link: https://pan.baidu.com/s/1jHyT6pRCzWXAamzhOhuNBQ 
extraction code: iqvk)
 

Configure environment variables

Configure VS2017

Open VS and create a new console program. Find your newly created project in the solution manager, right-click on properties, and the property page window will pop up.

2. C/C++-->Preprocessor-->Preprocessor definition, add the following content:

3. VC++ directory --> contains directory, add the following content:

4. VC++ directory --> library directory, add the following content

5. Linker --> Input --> Additional dependencies, add the following content (divided into Debug version and Release version)

Debug: version:

vtknetcdf_c++-gd.lib;
pcl_common_debug.lib;
pcl_features_debug.lib;
pcl_filters_debug.lib;
pcl_io_ply_debug.lib;
pcl_io_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-vc141-mt-gd-1_64.lib;
libboost_bzip2-vc141-mt-gd-1_64.lib;
libboost_chrono-vc141-mt-gd-1_64.lib;
libboost_container-vc141-mt-gd-1_64.lib;
libboost_context-vc141-mt-gd-1_64.lib;
libboost_coroutine-vc141-mt-gd-1_64.lib;
libboost_date_time-vc141-mt-gd-1_64.lib;
libboost_exception-vc141-mt-gd-1_64.lib;
libboost_fiber-vc141-mt-gd-1_64.lib;
libboost_filesystem-vc141-mt-gd-1_64.lib;
libboost_graph-vc141-mt-gd-1_64.lib;
libboost_graph_parallel-vc141-mt-gd-1_64.lib;
libboost_iostreams-vc141-mt-gd-1_64.lib;
libboost_locale-vc141-mt-gd-1_64.lib;
libboost_log-vc141-mt-gd-1_64.lib;
libboost_log_setup-vc141-mt-gd-1_64.lib;
libboost_math_c99-vc141-mt-gd-1_64.lib;
libboost_math_c99f-vc141-mt-gd-1_64.lib;
libboost_math_c99l-vc141-mt-gd-1_64.lib;
libboost_math_tr1-vc141-mt-gd-1_64.lib;
libboost_math_tr1f-vc141-mt-gd-1_64.lib;
libboost_math_tr1l-vc141-mt-gd-1_64.lib;
libboost_mpi-vc141-mt-gd-1_64.lib;
libboost_numpy3-vc141-mt-gd-1_64.lib;
libboost_numpy-vc141-mt-gd-1_64.lib;
libboost_prg_exec_monitor-vc141-mt-gd-1_64.lib;
libboost_program_options-vc141-mt-gd-1_64.lib;
libboost_python3-vc141-mt-gd-1_64.lib;
libboost_python-vc141-mt-gd-1_64.lib;
libboost_random-vc141-mt-gd-1_64.lib;
libboost_regex-vc141-mt-gd-1_64.lib;
libboost_serialization-vc141-mt-gd-1_64.lib;
libboost_signals-vc141-mt-gd-1_64.lib;
libboost_system-vc141-mt-gd-1_64.lib;
libboost_test_exec_monitor-vc141-mt-gd-1_64.lib;
libboost_thread-vc141-mt-gd-1_64.lib;
libboost_timer-vc141-mt-gd-1_64.lib;
libboost_type_erasure-vc141-mt-gd-1_64.lib;
libboost_unit_test_framework-vc141-mt-gd-1_64.lib;
libboost_wave-vc141-mt-gd-1_64.lib;
libboost_wserialization-vc141-mt-gd-1_64.lib;
libboost_zlib-vc141-mt-gd-1_64.lib;
flann-gd.lib;
flann_cpp-gd.lib;
flann_cpp_s-gd.lib;
flann_s-gd.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-gd.lib;
vtkChartsCore-8.0-gd.lib;
vtkCommonColor-8.0-gd.lib;
vtkCommonComputationalGeometry-8.0-gd.lib;
vtkCommonCore-8.0-gd.lib;
vtkCommonDataModel-8.0-gd.lib;
vtkCommonExecutionModel-8.0-gd.lib;
vtkCommonMath-8.0-gd.lib;
vtkCommonMisc-8.0-gd.lib;
vtkCommonSystem-8.0-gd.lib;
vtkCommonTransforms-8.0-gd.lib;
vtkDICOMParser-8.0-gd.lib;
vtkDomainsChemistry-8.0-gd.lib;
vtkexoIIc-8.0-gd.lib;
vtkexpat-8.0-gd.lib;
vtkFiltersAMR-8.0-gd.lib;
vtkFiltersCore-8.0-gd.lib;
vtkFiltersExtraction-8.0-gd.lib;
vtkFiltersFlowPaths-8.0-gd.lib;
vtkFiltersGeneral-8.0-gd.lib;
vtkFiltersGeneric-8.0-gd.lib;
vtkFiltersGeometry-8.0-gd.lib;
vtkFiltersHybrid-8.0-gd.lib;
vtkFiltersHyperTree-8.0-gd.lib;
vtkFiltersImaging-8.0-gd.lib;
vtkFiltersModeling-8.0-gd.lib;
vtkFiltersParallel-8.0-gd.lib;
vtkFiltersParallelImaging-8.0-gd.lib;
vtkFiltersPoints-8.0-gd.lib;
vtkFiltersProgrammable-8.0-gd.lib;
vtkFiltersSelection-8.0-gd.lib;
vtkFiltersSMP-8.0-gd.lib;
vtkFiltersSources-8.0-gd.lib;
vtkFiltersStatistics-8.0-gd.lib;
vtkFiltersTexture-8.0-gd.lib;
vtkFiltersTopology-8.0-gd.lib;
vtkFiltersVerdict-8.0-gd.lib;
vtkfreetype-8.0-gd.lib;
vtkGeovisCore-8.0-gd.lib;
vtkgl2ps-8.0-gd.lib;
vtkhdf5-8.0-gd.lib;
vtkhdf5_hl-8.0-gd.lib;
vtkImagingColor-8.0-gd.lib;
vtkImagingCore-8.0-gd.lib;
vtkImagingFourier-8.0-gd.lib;
vtkImagingGeneral-8.0-gd.lib;
vtkImagingHybrid-8.0-gd.lib;
vtkImagingMath-8.0-gd.lib;
vtkImagingMorphological-8.0-gd.lib;
vtkImagingSources-8.0-gd.lib;
vtkImagingStatistics-8.0-gd.lib;
vtkImagingStencil-8.0-gd.lib;
vtkInfovisCore-8.0-gd.lib;
vtkInfovisLayout-8.0-gd.lib;
vtkInteractionImage-8.0-gd.lib;
vtkInteractionStyle-8.0-gd.lib;
vtkInteractionWidgets-8.0-gd.lib;
vtkIOAMR-8.0-gd.lib;
vtkIOCore-8.0-gd.lib;
vtkIOEnSight-8.0-gd.lib;
vtkIOExodus-8.0-gd.lib;
vtkIOExport-8.0-gd.lib;
vtkIOExportOpenGL-8.0-gd.lib;
vtkIOGeometry-8.0-gd.lib;
vtkIOImage-8.0-gd.lib;
vtkIOImport-8.0-gd.lib;
vtkIOInfovis-8.0-gd.lib;
vtkIOLegacy-8.0-gd.lib;
vtkIOLSDyna-8.0-gd.lib;
vtkIOMINC-8.0-gd.lib;
vtkIOMovie-8.0-gd.lib;
vtkIONetCDF-8.0-gd.lib;
vtkIOParallel-8.0-gd.lib;
vtkIOParallelXML-8.0-gd.lib;
vtkIOPLY-8.0-gd.lib;
vtkIOSQL-8.0-gd.lib;
vtkIOTecplotTable-8.0-gd.lib;
vtkIOVideo-8.0-gd.lib;
vtkIOXML-8.0-gd.lib;
vtkIOXMLParser-8.0-gd.lib;
vtkjpeg-8.0-gd.lib;
vtkjsoncpp-8.0-gd.lib;
vtklibharu-8.0-gd.lib;
vtklibxml2-8.0-gd.lib;
vtklz4-8.0-gd.lib;
vtkmetaio-8.0-gd.lib;
vtkNetCDF-8.0-gd.lib;
vtkoggtheora-8.0-gd.lib;
vtkParallelCore-8.0-gd.lib;
vtkpng-8.0-gd.lib;
vtkproj4-8.0-gd.lib;
vtkRenderingAnnotation-8.0-gd.lib;
vtkRenderingContext2D-8.0-gd.lib;
vtkRenderingContextOpenGL-8.0-gd.lib;
vtkRenderingCore-8.0-gd.lib;
vtkRenderingFreeType-8.0-gd.lib;
vtkRenderingGL2PS-8.0-gd.lib;
vtkRenderingImage-8.0-gd.lib;
vtkRenderingLabel-8.0-gd.lib;
vtkRenderingLIC-8.0-gd.lib;
vtkRenderingLOD-8.0-gd.lib;
vtkRenderingOpenGL-8.0-gd.lib;
vtkRenderingVolume-8.0-gd.lib;
vtkRenderingVolumeOpenGL-8.0-gd.lib;
vtksqlite-8.0-gd.lib;
vtksys-8.0-gd.lib;
vtktiff-8.0-gd.lib;
vtkverdict-8.0-gd.lib;
vtkViewsContext2D-8.0-gd.lib;
vtkViewsCore-8.0-gd.lib;
vtkViewsInfovis- 8.0-gd.lib;
vtkzlib-8.0-gd.lib;
opengl32.lib;
Release version:

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;
pcl_io_release.lib;
libboost_atomic-vc141-mt-1_64.lib;
libboost_bzip2-vc141-mt-1_64.lib;
libboost_chrono-vc141-mt-1_64.lib;
libboost_container-vc141-mt-1_64.lib;
libboost_context-vc141-mt-1_64.lib;
libboost_coroutine-vc141-mt-1_64.lib;
libboost_date_time-vc141-mt-1_64.lib;
libboost_exception-vc141-mt-1_64.lib;
libboost_fiber-vc141-mt-1_64.lib;
libboost_filesystem-vc141-mt-1_64.lib;
libboost_graph-vc141-mt-1_64.lib;
libboost_graph_parallel-vc141-mt-1_64.lib;
libboost_iostreams-vc141-mt-1_64.lib;
libboost_locale-vc141-mt-1_64.lib;
libboost_log-vc141-mt-1_64.lib;
libboost_log_setup-vc141-mt-1_64.lib;
libboost_math_c99-vc141-mt-1_64.lib;
libboost_math_c99f-vc141-mt-1_64.lib;
libboost_math_c99l-vc141-mt-1_64.lib;
libboost_math_tr1-vc141-mt-1_64.lib;
libboost_math_tr1f-vc141-mt-1_64.lib;
libboost_math_tr1l-vc141-mt-1_64.lib;
libboost_mpi-vc141-mt-1_64.lib;
libboost_numpy-vc141-mt-1_64.lib;
libboost_numpy3-vc141-mt-1_64.lib;
libboost_prg_exec_monitor-vc141-mt-1_64.lib;
libboost_program_options-vc141-mt-1_64.lib;
libboost_python-vc141-mt-1_64.lib;
libboost_python3-vc141-mt-1_64.lib;
libboost_random-vc141-mt-1_64.lib;
libboost_regex-vc141-mt-1_64.lib;
libboost_serialization-vc141-mt-1_64.lib;
libboost_signals-vc141-mt-1_64.lib;
libboost_system-vc141-mt-1_64.lib;
libboost_test_exec_monitor-vc141-mt-1_64.lib;
libboost_thread-vc141-mt-1_64.lib;
libboost_timer-vc141-mt-1_64.lib;
libboost_type_erasure-vc141-mt-1_64.lib;
libboost_unit_test_framework-vc141-mt-1_64.lib;
libboost_wave-vc141-mt-1_64.lib;
libboost_wserialization-vc141-mt-1_64.lib;
libboost_zlib-vc141-mt-1_64.lib;
OpenNI2.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;
vtknetcdf_c++.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;
qhull_p.lib;
qhull_r.lib;
qhull.lib;
qhullcpp.lib;
qhullstatic.lib;
qhullstatic_r.lib;
flann.lib;
flann_cpp.lib;
flann_cpp_s.lib;
flann_s.lib;
例子:

The rabbit.pcd file is in the previous network disk, the code is as follows:

#include<pcl/visualization/cloud_viewer.h>
#include<iostream>
#include<pcl/io/io.h>
#include<pcl/io/pcd_io.h>
#include<pcl/io/ply_io.h>
#include<pcl/point_types.h>
int user_data;
using std::cout;
 
 
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer) {
	viewer.setBackgroundColor(1.0, 0.5, 1.0); 
}
 
int main() 
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
 
	char strfilepath[256] = "F:\\work_source\\TCCL\\ReadData\\ReadData\\src\\rabbit.pcd";
	if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud)) {
		cout << "error input!" << endl;
		return -1;
	}
 
	cout << cloud->points.size() << endl;
	pcl::visualization::CloudViewer viewer("Cloud Viewer");
 
	viewer.showCloud(cloud);
	viewer.runOnVisualizationThreadOnce(viewerOneOff);
	system("pause");
	return 0;
}

Picture after running

Compiling and running may report an error, and the system prompts "pcl_common_debug.dll was not found, so this application failed to start. Reinstalling the application may fix this problem". . .

And confirm that the pdb decompression file has been copied to the bin folder of the installed PCL directory.

Solution:

(1) Put all dll files in bin under WINDOWS SYSTEM32;

Or (2) Find and copy the missing pcl_common_debug.dll and other dynamic link libraries to the project directory, or create a directory, put the required dll in, and include the folder in VS2017;

 

Guess you like

Origin blog.csdn.net/qq_41023026/article/details/104775829