win10系统下 VS2019点云库PCL1.12.0的安装与配置教程

下面是在Win10系统下安装VS2019和PCL1.12.0库的完整攻略:

准备工作

  1. 安装Visual Studio 2019
  2. 安装CMake

安装PCL1.12.0

  1. 访问PCL官网(https://pointclouds.org/downloads/)下载点云库PCL的最新版1.12.0。
  2. 解压下载的文件到任意目录(以C:/Program Files (x86)/PointClouds/)为例。
  3. 打开cmake-gui。

配置PCL

  1. 在“Where is the source code”处填写D:/PointClouds/pcl-pcl-1.12.0(改为实际的解压路径)。
  2. 在“Where to build the binaries”处填写D:/PointClouds/pcl-pcl-1.12.0/build(自定义路径)。
  3. 点击“Configure”进入配置页面,在弹出的对话框中选择“Visual Studio 16 2019”、“x64”、“Use default native compilers”三个选项。
  4. 勾选“BUILD_visualization”、“BUILD_apps”两个选项(可选,按需选)。
  5. 点击“Configure”按钮,等待进度条完成。
  6. 点击“Generate”生成VS工程文件。

安装PCL

  1. 打开VS2019,在“文件”->“打开”->“项目/解决方案”中找到PCL.sln打开。
  2. 在VS界面右上方选择“Release”的编译版本,并进行编译(右键“ALL_BUILD”->“编译”)。
  3. 编译完成后,在当前项目中选择“INSTALL”,右键选择“生成”。
  4. 完成后,会在PCL的安装路径下生成bin、lib、include等文件夹。

在VS2019中引用PCL

  1. 在新建工程中,点击工具栏中的“Nuget包管理器控制台”按钮。
  2. 输入以下命令以安装必需的PCL依赖:
    Install-Package pcl
  3. 在工程的属性页中添加以下引用路径:
    $(PCL_ROOT)/include
    $(PCL_ROOT)/3rdParty/Boost/include/boost-1_75
    $(PCL_ROOT)/3rdParty/Eigen/eigen3
    $(PCL_ROOT)/3rdParty/FLANN/include
  4. 在工程的属性页中,将以下库文件添加到链接器中:
    $(PCL_ROOT)/lib/pcl_common_debug.lib
    $(PCL_ROOT)/lib/pcl_features_debug.lib
    $(PCL_ROOT)/lib/pcl_filters_debug.lib
    $(PCL_ROOT)/lib/pcl_io_debug.lib
    $(PCL_ROOT)/lib/pcl_kdtree_debug.lib
    $(PCL_ROOT)/lib/pcl_keypoints_debug.lib
    $(PCL_ROOT)/lib/pcl_ml_debug.lib
    $(PCL_ROOT)/lib/pcl_octree_debug.lib
    $(PCL_ROOT)/lib/pcl_recognition_debug.lib
    $(PCL_ROOT)/lib/pcl_registration_debug.lib
    $(PCL_ROOT)/lib/pcl_sample_consensus_debug.lib
    $(PCL_ROOT)/lib/pcl_search_debug.lib
    $(PCL_ROOT)/lib/pcl_segmentation_debug.lib
    $(PCL_ROOT)/lib/pcl_surface_debug.lib
    $(PCL_ROOT)/lib/pcl_tracking_debug.lib
    $(PCL_ROOT)/lib/pcl_visualization_debug.lib
  5. 代码中使用PCL的示例:
    ```
    #include
    #include #include

    int main() {
    pcl::PointCloud::Ptr cloud(new pcl::PointCloud);

    if (pcl::io::loadPCDFile<pcl::PointXYZ>("test_pcd.pcd", *cloud) == -1) {
        PCL_ERROR("Couldn't read file test_pcd.pcd\n");
        return 0;
    }
    
    std::cout << "Loaded " << cloud->width * cloud->height << " data points from test_pcd.pcd with the following fields: " << std::endl;
    for (size_t i = 0; i < cloud->points.size(); ++i)
        std::cout << "x: " << cloud->points[i].x << " y: " << cloud->points[i].y << " z: " << cloud->points[i].z << std::endl;
    
    return 0;
    

    }
    ```
    以上为完整的PCL1.12.0安装和配置教程,希望可以帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:win10系统下 VS2019点云库PCL1.12.0的安装与配置教程 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++线程安全的单例模式讲解

    下面我将为您详细讲解“C++线程安全的单例模式讲解”的完整攻略。 什么是单例模式? 单例模式是一种创建型设计模式,它可以保证一个类在任何情况下都只有一个实例,并且提供了一个全局访问点来访问该实例。在单例模式中,类的构造函数是私有的,所以无法通过常规方法创建新的实例。单例模式通常被用来控制资源访问,如数据库连接的单例。 为什么要使用线程安全的单例模式? 当一个…

    C 2023年5月22日
    00
  • 实例分析一个简单的Win32程序

    下面我将为你详细讲解如何实例分析一个简单的Win32程序,整个过程需要遵循以下攻略: 步骤一:获取Win32程序代码 首先,你需要获取一个简单的Win32程序的源代码。或者你也可以自己编写一个Win32程序代码。 步骤二:分析程序的结构 一般来说,一个Win32程序的代码结构包括:窗口过程函数、消息循环、WinMain函数、注册窗口类等组成。因此,在分析程序…

    C 2023年5月23日
    00
  • C语言之结构体定义 typedef struct 用法详解和用法小结

    C语言之结构体定义 typedef struct 用法详解和用法小结 在C语言中,结构体是一种自定义的数据类型,它可以包含多个不同类型的变量,并被视为一个整体。但是,直接定义结构体并不方便,因此可以使用typedef struct来定义结构体类型,使代码更加简洁和易读。 typedef struct的基本用法 typedef struct的语法格式为: ty…

    C 2023年5月22日
    00
  • C++实现两个日期间差多少天的解决方法

    下面是“C++实现两个日期间差多少天的解决方法”的完整攻略。 一、问题描述 假设有两个日期,分别为 start_date 和 end_date,请实现一个函数,计算两个日期间相隔的天数。 二、解决思路 我们可以将日期转化为距离某个固定日期的天数,然后求两个日期距离固定日期的天数之差。这里我们取 1900年1月1日 作为固定日期。 将日期转化为天数的方法:假设…

    C 2023年5月23日
    00
  • json对象转字符串如何实现

    首先,需要明确一下,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web应用程序之间的数据交换。JSON对象是一种由“键/值”对组成的数据结构,可以通过一些库函数将其转化为字符串形式。 下面是JSON对象转字符串的方法: 1.使用JSON.stringify()方法 JSON.stringify()是将…

    C 2023年5月23日
    00
  • C语言中函数栈帧的创建和销毁的深层分析

    C语言中函数栈帧的创建和销毁的深层分析 什么是函数栈帧 在C语言中,每当一个函数被调用时,系统会在当前线程的栈上为该函数创建一个栈帧(Stack Frame),用于保存该函数调用时的现场信息(如首地址、传递参数、局部变量等信息)。函数栈帧的创建和销毁是函数调用的必要过程,也是C语言程序的基本运行机制之一。 函数栈帧的创建过程 函数栈帧的创建过程分为以下几个步…

    C 2023年5月23日
    00
  • C Primer Plus (7.12) 編程練習

    /*C Primer Plus (7.11) 3*/ 1 #include<stdio.h> 2 int main() 3 { 4 double weight,height; 5 printf(“Please enter your weight and height.\n”); 6 printf(“Weight (pound):”); 7 sca…

    C语言 2023年4月18日
    00
  • 怎么解决外接程序VMDebugger未能加载或导致了异常?

    当我们在使用外接程序 VMDebugger 时,有时候可能会遇到 loading 或者异常的问题,这可能是由于以下几种原因导致的: VMDebugger 路径或者名称错误 VMDebugger 版本不兼容当前系统 VMDebugger 与程序运行时发生冲突 网络问题或者其他异常原因 针对以上问题,我们可以采取以下几种方式进行排查和解决: 1. 确认 VMDe…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部