PCL1.14.1 VS2022环境配置

目录

 1  相关软件下载链接

2  PCL安装流程

3 环境配置

 1  相关软件下载链接

软件与版本主要是:visual studio community 2022和pcl1.14.1-msvc2022;

下载 PCL-1.14.1-AllInOne-msvc2022-win64.exe 和 pcl-1.14.1-pdb-msvc2022-win64.zip 文件

官网链接: All in one 安装包下载地址:http :// pointclouds.org/downloads/windows.html

all in one 包对应的PDB包下载地址:https ://github.com/PointCloudLibrary/pcl/releases

2  PCL安装流程

1、选择下载好的PCL-1.14.1-AllInOne-msvc2022-win64安装包,右键 以管理员身份运行;

2、选择第二个Add PCL to the system PATH for all users ,并点击下方下一步

3、选择安装位置,我选择的是D:\Program Files\PCL1.14.1,并点击下一步

4、默认系统选择 ,并点击下方下一步

5、选择安装的组件,默认全选,并点击安装;

6、安装组件后,等待片刻,会弹出安装OPENNI2的提示。将安装路径改到D:\Program Files\PCL 1.14.1\3rdParty\ ,然后点击Install;

7、点击finish,完成安装。

3 环境配置

1、安装成功后,进入高级系统设置,查看环境变量中的系统变量出现以下四个:

2、双击 Path ,编辑环境变量,新建以下环境变量;

3、点击确定,保存。

4、将下载的 pcl-1.14.1-pdb-msvc2022-win64 解压,并将其中的全部 .pdb文件复制到PCL安装路径的bin文件夹下,我的是 D:\Program Files\PCL 1.14.1\bin

5、打开vs2022,新建项目,选择新建Windows桌面向导,选择路径,选择空项目和控制台应用程序,命名为PCL_Study.cpp 。

6、选择Release与X64

7、然后找到 视图 - 其他窗口 - 属性管理器 ,打开属性管理器;

8、在 release|x64文件夹上 右键 添加新项目属性表,命名为 PCL1.14.1_Release64 ; Debug|x64下相同。

9、双击PCLRelease64,弹出属性页;

10、左侧选中VC++目录理器,右侧在 包含目录 和 库目录 中添加如下路径。

包含目录:

库目录:

11、找到左侧 链接器 - 输入 - 附加依赖库 ;直接复制粘贴过来即可。

pcl_common.lib
pcl_features.lib
pcl_filters.lib
pcl_io.lib
pcl_io_ply.lib
pcl_kdtree.lib
pcl_keypoints.lib
pcl_ml.lib
pcl_octree.lib
pcl_outofcore.lib
pcl_people.lib
pcl_recognition.lib
pcl_registration.lib
pcl_sample_consensus.lib
pcl_search.lib
pcl_segmentation.lib
pcl_stereo.lib
pcl_surface.lib
pcl_tracking.lib
pcl_visualization.lib
libboost_atomic-vc143-mt-x64-1_84.lib
libboost_bzip2-vc143-mt-x64-1_84.lib
libboost_chrono-vc143-mt-x64-1_84.lib
libboost_container-vc143-mt-x64-1_84.lib
libboost_context-vc143-mt-x64-1_84.lib
libboost_contract-vc143-mt-x64-1_84.lib
libboost_coroutine-vc143-mt-x64-1_84.lib
libboost_date_time-vc143-mt-x64-1_84.lib
libboost_exception-vc143-mt-x64-1_84.lib
libboost_fiber-vc143-mt-x64-1_84.lib
libboost_filesystem-vc143-mt-x64-1_84.lib
libboost_graph-vc143-mt-x64-1_84.lib
libboost_graph_parallel-vc143-mt-x64-1_84.lib
libboost_iostreams-vc143-mt-x64-1_84.lib
libboost_json-vc143-mt-x64-1_84.lib
libboost_locale-vc143-mt-x64-1_84.lib
libboost_log-vc143-mt-x64-1_84.lib
libboost_log_setup-vc143-mt-x64-1_84.lib
libboost_math_c99-vc143-mt-x64-1_84.lib
libboost_math_c99f-vc143-mt-x64-1_84.lib
libboost_math_c99l-vc143-mt-x64-1_84.lib
libboost_math_tr1-vc143-mt-x64-1_84.lib
libboost_math_tr1f-vc143-mt-x64-1_84.lib
libboost_math_tr1l-vc143-mt-x64-1_84.lib
libboost_mpi-vc143-mt-x64-1_84.lib
libboost_nowide-vc143-mt-x64-1_84.lib
libboost_numpy310-vc143-mt-x64-1_84.lib
libboost_prg_exec_monitor-vc143-mt-x64-1_84.lib
libboost_program_options-vc143-mt-x64-1_84.lib
libboost_python310-vc143-mt-x64-1_84.lib
libboost_random-vc143-mt-x64-1_84.lib
libboost_regex-vc143-mt-x64-1_84.lib
libboost_serialization-vc143-mt-x64-1_84.lib
libboost_stacktrace_noop-vc143-mt-x64-1_84.lib
libboost_stacktrace_windbg-vc143-mt-x64-1_84.lib
libboost_stacktrace_windbg_cached-vc143-mt-x64-1_84.lib
libboost_system-vc143-mt-x64-1_84.lib
libboost_test_exec_monitor-vc143-mt-x64-1_84.lib
libboost_thread-vc143-mt-x64-1_84.lib
libboost_timer-vc143-mt-x64-1_84.lib
libboost_type_erasure-vc143-mt-x64-1_84.lib
libboost_unit_test_framework-vc143-mt-x64-1_84.lib
libboost_url-vc143-mt-x64-1_84.lib
libboost_wave-vc143-mt-x64-1_84.lib
libboost_wserialization-vc143-mt-x64-1_84.lib
libboost_zlib-vc143-mt-x64-1_84.lib
flann.lib
flann_cpp.lib
flann_cpp_s.lib
flann_s.lib
OpenNI2.lib
qhullcpp.lib
qhullstatic.lib
qhullstatic_r.lib
qhull_r.lib
vtkcgns-9.3.lib
vtkChartsCore-9.3.lib
vtkCommonColor-9.3.lib
vtkCommonComputationalGeometry-9.3.lib
vtkCommonCore-9.3.lib
vtkCommonDataModel-9.3.lib
vtkCommonExecutionModel-9.3.lib
vtkCommonMath-9.3.lib
vtkCommonMisc-9.3.lib
vtkCommonSystem-9.3.lib
vtkCommonTransforms-9.3.lib
vtkDICOMParser-9.3.lib
vtkDomainsChemistry-9.3.lib
vtkDomainsChemistryOpenGL2-9.3.lib
vtkdoubleconversion-9.3.lib
vtkexodusII-9.3.lib
vtkexpat-9.3.lib
vtkFiltersAMR-9.3.lib
vtkFiltersCellGrid-9.3.lib
vtkFiltersCore-9.3.lib
vtkFiltersExtraction-9.3.lib
vtkFiltersFlowPaths-9.3.lib
vtkFiltersGeneral-9.3.lib
vtkFiltersGeneric-9.3.lib
vtkFiltersGeometry-9.3.lib
vtkFiltersGeometryPreview-9.3.lib
vtkFiltersHybrid-9.3.lib
vtkFiltersHyperTree-9.3.lib
vtkFiltersImaging-9.3.lib
vtkFiltersModeling-9.3.lib
vtkFiltersParallel-9.3.lib
vtkFiltersParallelImaging-9.3.lib
vtkFiltersPoints-9.3.lib
vtkFiltersProgrammable-9.3.lib
vtkFiltersReduction-9.3.lib
vtkFiltersSelection-9.3.lib
vtkFiltersSMP-9.3.lib
vtkFiltersSources-9.3.lib
vtkFiltersStatistics-9.3.lib
vtkFiltersTensor-9.3.lib
vtkFiltersTexture-9.3.lib
vtkFiltersTopology-9.3.lib
vtkFiltersVerdict-9.3.lib
vtkfmt-9.3.lib
vtkfreetype-9.3.lib
vtkGeovisCore-9.3.lib
vtkgl2ps-9.3.lib
vtkglew-9.3.lib
vtkGUISupportQt-9.3.lib
vtkGUISupportQtQuick-9.3.lib
vtkGUISupportQtSQL-9.3.lib
vtkhdf5-9.3.lib
vtkhdf5_hl-9.3.lib
vtkImagingColor-9.3.lib
vtkImagingCore-9.3.lib
vtkImagingFourier-9.3.lib
vtkImagingGeneral-9.3.lib
vtkImagingHybrid-9.3.lib
vtkImagingMath-9.3.lib
vtkImagingMorphological-9.3.lib
vtkImagingSources-9.3.lib
vtkImagingStatistics-9.3.lib
vtkImagingStencil-9.3.lib
vtkInfovisCore-9.3.lib
vtkInfovisLayout-9.3.lib
vtkInteractionImage-9.3.lib
vtkInteractionStyle-9.3.lib
vtkInteractionWidgets-9.3.lib
vtkIOAMR-9.3.lib
vtkIOAsynchronous-9.3.lib
vtkIOCellGrid-9.3.lib
vtkIOCesium3DTiles-9.3.lib
vtkIOCGNSReader-9.3.lib
vtkIOChemistry-9.3.lib
vtkIOCityGML-9.3.lib
vtkIOCONVERGECFD-9.3.lib
vtkIOCore-9.3.lib
vtkIOEnSight-9.3.lib
vtkIOExodus-9.3.lib
vtkIOExport-9.3.lib
vtkIOExportGL2PS-9.3.lib
vtkIOExportPDF-9.3.lib
vtkIOFLUENTCFF-9.3.lib
vtkIOGeometry-9.3.lib
vtkIOHDF-9.3.lib
vtkIOImage-9.3.lib
vtkIOImport-9.3.lib
vtkIOInfovis-9.3.lib
vtkIOIOSS-9.3.lib
vtkIOLegacy-9.3.lib
vtkIOLSDyna-9.3.lib
vtkIOMINC-9.3.lib
vtkIOMotionFX-9.3.lib
vtkIOMovie-9.3.lib
vtkIONetCDF-9.3.lib
vtkIOOggTheora-9.3.lib
vtkIOParallel-9.3.lib
vtkIOParallelXML-9.3.lib
vtkIOPLY-9.3.lib
vtkIOSegY-9.3.lib
vtkIOSQL-9.3.lib
vtkioss-9.3.lib
vtkIOTecplotTable-9.3.lib
vtkIOVeraOut-9.3.lib
vtkIOVideo-9.3.lib
vtkIOXML-9.3.lib
vtkIOXMLParser-9.3.lib
vtkjpeg-9.3.lib
vtkjsoncpp-9.3.lib
vtkkissfft-9.3.lib
vtklibharu-9.3.lib
vtklibproj-9.3.lib
vtklibxml2-9.3.lib
vtkloguru-9.3.lib
vtklz4-9.3.lib
vtklzma-9.3.lib
vtkmetaio-9.3.lib
vtknetcdf-9.3.lib
vtkogg-9.3.lib
vtkParallelCore-9.3.lib
vtkParallelDIY-9.3.lib
vtkpng-9.3.lib
vtkpugixml-9.3.lib
vtkRenderingAnnotation-9.3.lib
vtkRenderingCellGrid-9.3.lib
vtkRenderingContext2D-9.3.lib
vtkRenderingContextOpenGL2-9.3.lib
vtkRenderingCore-9.3.lib
vtkRenderingFreeType-9.3.lib
vtkRenderingGL2PSOpenGL2-9.3.lib
vtkRenderingHyperTreeGrid-9.3.lib
vtkRenderingImage-9.3.lib
vtkRenderingLabel-9.3.lib
vtkRenderingLICOpenGL2-9.3.lib
vtkRenderingLOD-9.3.lib
vtkRenderingOpenGL2-9.3.lib
vtkRenderingQt-9.3.lib
vtkRenderingSceneGraph-9.3.lib
vtkRenderingUI-9.3.lib
vtkRenderingVolume-9.3.lib
vtkRenderingVolumeOpenGL2-9.3.lib
vtkRenderingVtkJS-9.3.lib
vtksqlite-9.3.lib
vtksys-9.3.lib
vtkTestingRendering-9.3.lib
vtktheora-9.3.lib
vtktiff-9.3.lib
vtkverdict-9.3.lib
vtkViewsContext2D-9.3.lib
vtkViewsCore-9.3.lib
vtkViewsInfovis-9.3.lib
vtkViewsQt-9.3.lib
vtkWrappingTools-9.3.lib
vtkzlib-9.3.lib

12、c/c++ ,常规, 找到SDL检查 ,将其改为 “否” ;点击确定,应用。

14、视图 - 其他窗口 - 属性管理器 ,打开属性管理器;右击Relsease|64,点击下方属性,点进去找到c/c++ ,常规, 找到SDL检查 ,将其改为 “否” ;点击确定,应用。 (注:和上面的不一样,上面的是在属性表PCL.14.1_Release64中改的。)

15、退出VS2022,点击VS2022图标,右键到属性,点击快捷方式,点击下方的高级选项,将管理员身份运行勾选上。

16、打开VS2022,打开刚才创建的文件,添加以下代码。窗口中显示兔子模型,PCL配置成功。


#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/point_cloud.h>
#include <pcl/octree/octree.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <boost/thread/thread.hpp>
#include<Eigen/dense>
using namespace std;
int main()
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in(new pcl::PointCloud<pcl::PointXYZ>);

	pcl::io::loadPCDFile("bunny.pcd", *cloud_in);
	boost::shared_ptr<pcl::visualization::PCLVisualizer> view(new pcl::visualization::PCLVisualizer("3D Viewer"));
	// 显示点云本身的RGB颜色
	pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZ> rgb(cloud_in);
	view->addPointCloud<pcl::PointXYZ>(cloud_in, "cloud_color");
	// 设置点云的点大小
	view->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "cloud_color");
	while (!view->wasStopped())
	{
		view->spinOnce(100);
		boost::this_thread::sleep(boost::posix_time::microseconds(100000));
	}

	return 0;
}

### PCL1.14 版本安装教程 #### 准备工作 为了成功安装 Point Cloud Library (PCL) 1.14,确保计算机已准备好必要的依赖项。通常情况下,这些依赖项包括 CMake、Git 和其他第三方库如 FLANN 或 Boost。 #### 下载源码包 可以从官方网站下载 PCL 的预编译二进制文件或通过 Git 获取最新源代码。对于 Windows 用户来说,推荐使用 MSYS2 MinGW 来简化构建过程[^1]。 #### 配置环境变量 设置好开发工具链之后,下一步就是配置系统的 PATH 变量以便能够访问到所需的命令行工具以及动态链接库路径。例如,在 Windows 上可以将 `C:\Program Files\PCL 1.14.0\bin` 添加至系统环境变量中。 #### 编译与安装 利用 CMake 工具来生成适合当前平台的项目文件,并按照提示完成整个编译流程。如果一切顺利的话,则可以在指定目录下找到已经编译好的 PCL 库文件夹结构,其中包括头文件和静态/共享库等资源[^2]。 ```bash mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` #### 测试验证 最后一步是对新安装的 PCL 进行简单的测试程序编写并运行以确认其功能正常。这可以通过创建一个小例子来进行尝试,比如读取一个点云数据集并显示出来。 ```cpp #include <pcl/io/pcd_io.h> #include <pcl/visualization/cloud_viewer.h> int main(int argc, char** argv){ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); if(pcl::io::loadPCDFile<pcl::PointXYZ>("example.pcd", *cloud)==-1){ std::cout << "Couldn't read file example.pcd\n"; return (-1); } pcl::visualization::CloudViewer viewer("Simple Viewer"); viewer.showCloud(cloud); while (!viewer.wasStopped()) { ; } return 0; } ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值