首页 > 其他分享 >在VSCode中使用PCL

在VSCode中使用PCL

时间:2024-08-06 19:40:49浏览次数:12  
标签:DIRS 1.14 VSCode cloud PCL 使用 include pcd

我要被气死了。

前提条件:
CMake
MSVC 2022(务必装这个)
VSCode以及相关的C++,CMake插件等

安装步骤:

  1. PCL的Release这里下载类似“PCL-1.14.1-AllInOne-msvc2022-win64.exe”名称的exe,安装过程中要求为所有用户写入环境变量。

  2. 找个地方新建空文件夹,新建这些文件,注意文件名也要一样
    pcd_write.cpp:

// pcd_write.cpp
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>

int main()
{
  pcl::PointCloud<pcl::PointXYZ> cloud;

  // Fill in the cloud data
  cloud.width    = 5;
  cloud.height   = 1;
  cloud.is_dense = false;
  cloud.resize (cloud.width * cloud.height);

  for (auto& point: cloud)
  {
    point.x = 1024 * rand () / (RAND_MAX + 1.0f);
    point.y = 1024 * rand () / (RAND_MAX + 1.0f);
    point.z = 1024 * rand () / (RAND_MAX + 1.0f);
  }

  pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
  std::cerr << "Saved " << cloud.size () << " data points to test_pcd.pcd." << std::endl;

  for (const auto& point: cloud)
    std::cerr << "    " << point.x << " " << point.y << " " << point.z << std::endl;

  return (0);
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
project(MY_GRAND_PROJECT)
find_package(PCL 1.4 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write_test pcd_write.cpp)
target_link_libraries(pcd_write_test ${PCL_LIBRARIES})

message(STATUS "PCL_INCLUDE_DIRS: ${PCL_INCLUDE_DIRS}")
  1. 打开VSCode中的设置,直接搜索“cmake generator”,然后如图填入东西:
    image

  2. 保存后开始CMake编译,然后你应该会看在输出看到这个:

......
[cmake] -- PCL_INCLUDE_DIRS: C:/Program Files/PCL 1.14.1/include/pcl-1.14;C:/Program Files/PCL 1.14.1/3rdParty/Eigen3/include/eigen3;C:/Program Files/PCL 1.14.1/3rdParty/Boost/include/boost-1_84;C:/Program Files/OpenNI2/Include
......

把这些目录全部复制到剪贴板

  1. 打开C/C++配置(不是VSC设置里面那个配置,是类似这样的)
    image

下达到这里,然后黏贴你刚刚复制的东西,再做一些微调,让它看起来像这样:

image

现在理论上可以运行了

标签:DIRS,1.14,VSCode,cloud,PCL,使用,include,pcd
From: https://www.cnblogs.com/Lemon-GPU/p/18345854

相关文章

  • ElementUI元件库在Axure中使用
    一、ElementUI元件库介绍ElementUI 是一套为开发者、UI/UX设计师和产品经理准备的基于Vue2.0的桌面端组件库。它以其优雅的设计和丰富的组件,极大地提升了Web应用的开发效率与用户体验。ElementUI的组件设计精致且符合现代UI规范,包括按钮、表单、弹窗、菜单等多种类型,能够满......
  • 使用python解决一些计算 我们代码不比计算机差!
    使用python解决一些计算我们代码不比计算机差!一.简单基础计算1.基本的计算符号加+减-乘*****除/取余%乘方******整除//加减乘除不必多说说说比较陌生的取余乘方与整除取余%:10%3-->110-3-3-3=1最后剩下的数就是余数整除//:10//3-->310除3=3.333333去掉......
  • Spring Boot 中使用 JSON Schema 来校验复杂JSON数据
    JSON是我们编写API时候用于数据传递的常用格式,那么你是否知道JSONSchema呢?在数据交换领域,JSONSchema以其强大的标准化能力,为定义和规范JSON数据的结构与规则提供了有力支持。通过一系列精心设计的关键字,JSONSchema能够详尽地描述数据的各项属性。然而,仅凭JSONSchema......
  • Unity使用多屏幕Display以及不同屏幕的射线检测
    0.背景最近在做一个双屏游戏,一个场景中有两个摄像机,分别渲染到两个屏幕显示,然后在点击不同的屏幕时,要从不同的摄像机发射射线检测与场景中的物体交互。1.设置多屏unity中设置多屏的方式很简单,选中摄像机组件中的TargetDisplay属性即可。2.显式地激活连接的屏幕在确保连......
  • ThinkPHP8事件两种使用方式
    目录通过监听方式通过事件订阅智能订阅手动订阅监听方式生成事件监听类,在项目根目录下执行以下命令://生成一个UserLoginSuccess监听类phpthinkmake:listenerUserLoginSuccess执行之后,会在app->listener目录下生成UserLoginSuccess.php,代码如下:/**用户登录成......
  • python 音频处理(2)——提取PPG特征之whisper库的使用(2.1)
    提取PPG特征之——whisper库的使用(2.1)1安装对应的包方法一(自用):直接pip即可:pipinstallopenai-whisper成功后如下图所示方法二:当时用了他这个方法环境直接崩了,已老实condainstall-cconda-forgeffmpegcondainstall-cconda-forgepoetrypoetryinitpoetry......
  • Element el-form 表单校验,保存或提交验证某一项或者多项;validateField 的使用
    通常新增或者编辑对form表单的校验都是全局性的校验:this.$refs.form.validate(valid=>{if(valid){//校验通过,业务逻辑代码...}});如果需要对表单里的特定几个必填项进行校验,应该如何实现? 业务场景:下图点击保存按钮时,只需要校验前两项,其余参数不......
  • 【编程语言】Delphi使用教程
    目录一、概述二、Delphi的开发环境三、Delphi基本功能3.1创建新项目3.2设计表单3.3编写代码3.4编译和运行3.5调试四、Delphi的高级的概念和技巧4.1使用组件和类4.2数据库操作4.3图形和多媒体4.4网络编程4.5调试和优化4.6 部署和分发4.7版本控制和......
  • 深圳大学-Java程序设计实验-常用集合类使用
    实验目的熟悉集合类的应用,熟悉String类的应用以及正则表达式的使用。实验内容1张三、李四等人是A社团成员,李四、王五等人是B社团成员,编写一个Java应用程序(要求使用集合类),输出参加A社团的人、参加B社团的人、以及同时参加两个社团的人。在报告中附上程序截图、完整的运行......
  • Redux 及Redux-Toolkit 使用笔记及简易实现
    Redux及Redux-Toolkit使用笔记及简易实现依赖的包npminstall@reduxjs/toolkitreact-redux创建Store并且将它注入到app中。一般使用configureStore({reducers:{}}),这种方式,我们可以在各个模块里面定义各自的reducer,然后在store里面使用它。这个方法返回的就是store的实......