PCL -1.12.1下载及vs2019环境配置

安装

1、下载PCL的安装包和pdb文件,即PCL-1.12.1-AllInOne-msvc2019-win64.exe和pcl-1.12.1-pdb-msvc2019-win64.zip,两个文件要与VS版本匹配;

2、环境配置:

  a、我安装在了D:\PCL 1.12.1中,后续所有操作都基于此;
  b、安装时注意将PCL添加到系统环境变量
  c、安装结束后右键此电脑->属性->高级系统设置->环境变量,查看x下面四个环境变量是否已经建立

  

3、将.zip中的所有.pdb文件复制到安装路径的bin文件夹。

4、添加环境变量,包括如下路径,其中D:\PCL 1.12.1替换为自己的安装路径

    D:\PCL 1.12.1\bin
  D:\PCL 1.12.1\3rdParty\VTK\bin
  D:\PCL 1.12.1\3rdParty\FLANN\bin
  D:\PCL 1.12.1\3rdParty\Qhull\bin
  D:\PCL 1.12.1\3rdParty\Boost\lib
  D:\PCL 1.12.1\3rdParty\OpenNI2\Tools
  D:\PCL 1.12.1\3rdParty\OpenNI2\Redist   

 

配置VS

1、打开VS,新建空项目(C++),编译环境为Debug,x64,添加源文件src.cpp。

2、配置VC++目录:右键解决方案名称->属性->VC++目录,编辑其中的包含目录和库目录。

其中包含目录添加:

  D:\PCL 1.12.1\include\pcl-1.12
  D:\PCL 1.12.1\3rdParty\Eigen\eigen3
  D:\PCL 1.12.1\OpenNI2\Include
  D:\PCL 1.12.1\3rdParty\VTK\include\vtk-9.1
  D:\PCL 1.12.1\3rdParty\Qhull\include
  D:\PCL 1.12.1\3rdParty\FLANN\include
  D:\PCL 1.12.1\3rdParty\Boost\include\boost-1_78


库目录 中添加以下6个目录:

  D:\PCL 1.12.1\PCL\lib
  D:\PCL 1.12.1\3rdParty\OpenNI2\Lib
  D:\PCL 1.12.1\3rdParty\VTK\lib
  D:\PCL 1.12.1\3rdParty\Qhull\lib
  D:\PCL 1.12.1\3rdParty\FLANN\lib
  D:\PCL 1.12.1\3rdParty\Boost\lib

3、C/C++设置:仍在属性页面,C/C++->预处理器->预处理器定义,将其改为

    BOOST_USE_WINDOWS_H 
    NOMINMAX 
    _CRT_SECURE_NO_DEPRECATE

 同样在C/C++选项卡中->所有选项->SDL检查,选择为否。

4 设置附加依赖项:链接器->输入->附加依赖项

将PCL安装路径\lib文件夹和\3rdParty\VTK\lib中所有的.lib文件填入其中,这个实在太费劲了,可以进入命令行,可用dir命令快速选出以d.lib为后缀的文件

    D:\PCL 1.12.1\lib>dir /b *d.lib
    pcl_commond.lib
    //...内容太多


    D:\PCL 1.12.1\3rdParty\VTK\lib>dir /b *d.lib
    vtkcgns-9.1d.lib
    vtkChartsCore-9.1d.lib
    vtkCommonColor-9.1d.lib
    //...

d.lib结尾,表示debug模式下的附加依赖项,不以d结尾的是release模式的

然后复制粘贴到附加依赖项中。

测试:

#include<iostream>
#include<pcl/io/pcd_io.h>
#include<pcl/visualization/cloud_viewer.h>

void viewerOneOff(pcl::visualization::PCLVisualizer& viewer) {
    viewer.setBackgroundColor(0.5, 0.9, 0.5);   //设置背景颜色
}
 
int main() {
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
 
    char strfilepath[256] = "rabbit.pcd";
    pcl::io::loadPCDFile(strfilepath, *cloud);
    pcl::visualization::CloudViewer viewer("Cloud Viewer");   //创建viewer对象
    viewer.showCloud(cloud);
    viewer.runOnVisualizationThreadOnce(viewerOneOff);
    system("pause");
    return 0;
}

 



posted @ 2022-12-12 17:06  夏蝉沐雪  阅读(1335)  评论(0编辑  收藏  举报